Skip to content

PyLav/PyLav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,801 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub license Support Server PyPi Crowdin Documentation Status

Documentation

Installation


Requirements


Supported sources

  • youtube (Deprecated with LL 4.0.5)
  • soundcloud
  • bandcamp
  • twitch
  • vimeo
  • http
  • local
  • youtube

With LavaSrc

  • spotify
  • applemusic
  • deezer
  • youtube
  • flowery-tts
  • getyarn.io
  • clypit
  • tts
  • pornhub
  • reddit
  • ocremix
  • tiktok
  • mixcloud
  • soundgasm
  • gcloud-tts
  • sponsorblock

Supported Lavalink features

  • Supports all features of Lavalink
    • Filters
    • IP Rotation
    • Plug-ins

Features

  • Multiple node support
    • Node region assignment based on IP
  • Track cache for the last 30 days to reduce the number of duplicated queries
  • Managed local node with auto-restart and auto update
  • Many helper methods and functions
  • Support for multiple cogs to access the library at once
  • Playlists and EQ saved at a library level to be shared with cogs
  • Player state persistence
    • Upon library state being shutdown all player states are saved and restored on library startup
  • History of played tracks available for players
  • RadioBrowser.org API to retrieve radio stations available for players
  • M3U, PLS and PYLAV text file parser to convert contents into a playlist (p.s. Lavalink must support the format/coded of files still)

System Requirements

With a locally hosted Postgres server and locally hosted/managed lavalink node (recommended - Best performance):

  • CPU: 3 cores or more
  • RAM: 4GB or more
  • Disk Space: 10GB or more (NVME Ideally, SSD OK)

With a locally hosted Postgres server and externally hosted lavalink node (Okay performance):

  • CPU: 2 cores or more
  • RAM: 3GB or more
  • Disk Space: 10GB or more (NVME Ideally, SSD OK)

With an externally hosted Postgres server and locally hosted/managed lavalink node (Poor performance):

  • CPU: 2 cores or more
  • RAM: 2GB or more
  • Disk Space: 10GB or more (SSD)

With an externally hosted Postgres server and externally hosted lavalink node (Worst performance):

  • CPU: 1 cores or more
  • RAM: 1GB or more
  • Disk Space: 10GB or more (SSD)

Credits

  • Topi for all the work done to Lavalink and implementing direct requests to make PyLav even better.
  • Devoxin - Lavalink.py for the original ideas for implementation.
  • globocom/m3u8 for the M3U8 parser which I made asynchronous found in m3u8_parser.
  • andreztz/pyradios for the radio parser which I made asynchronous found in radio.
  • Lifeismana for the custom Red-DiscordBot docker image which added Python3.11 support until Phasecore's image is updated.

About

A Lavalink wrapper library to be used by discord-py bots. Docs at: https://pylav.readthedocs.io/

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors