- Python 66.7%
- HTML 31.6%
- CSS 1.7%
| src | ||
| tests | ||
| .gitignore | ||
| app.wsgi | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
| uwsgi.ini | ||
Plex-Music-Viewer
A web application written in Python with Bootstrap 4 to integrate with your Plex music library.
Dependencies
- Python dependencies can be installed using
pip -r requirements.txt. Each one and its use is included below. - Depending on your database engine you may need to install further dependencies:
- MySQL:
# apt install libmysqlclient-devetc...
- MySQL:
- For optional bittorrent support
libtorrentwith python bindings support (libtorrent-rasterbar) is required. You will have to find the correct package for your OS.
Python Dependency Usages
TODO Finish descriptions; put these in a better order.
musicbrainzngsis used for fetching album art from MusicBrainz.requestsis used for sending extra requests to APIs where existing libraries miss some required data.python-magicwerkzeugis a flask dependency, also used for routing.scipynumpyplexapiis used in order to connect to the Plex server if the Plex backend is being used.flaskis the web microframework.xmltodictis used when getting some extra data from the Plex server, as the server will only return a bizarrely formatted XML document and refuses to give JSON.simplejsonis used for converting JSON to and from dictionaries.pillowImageflask-mysqlis used to query the local database.flask-loginis used to help manage user accounts.lyricsgeniusis used for fetching track lyrics from Genius.pylastis used for fetching album art from Last.fm
Settings
TODO Create table describing settings
Fetching Lyrics
Fetching lyrics requires a Genius API client access token. One must sign up for a Genius account and create an API client to obtain the access token. This can be done at the link below:
https://genius.com/api-clients
Once this key is put in the settings, restart the application if it is running and lyrics will automatically be fetched.
Local Lyrics
Fetched lyrics are cached in the lyrics folder in the
format Artist - Track.txt. The application will check
here before trying to download lyrics.
This also means if you do not wish to use Genius, you may place lyrics in this folder and the application will display them as normal.
Fetching album art
In the settings file is a list of album art fetchers in the order they will be tried.
By default, Plex is first in the list. If using Plex as the backend, all album art will automatically be fetched from the server.
last.fm
Fetching album art from last.fm requires an API key. This will require a last.fm account. You can obtain a key at the link below.