A tiny subsonic server api implementation with python + flask. Supports:
- coverArt search on the web
- playlist add / delete, 4 default dynamic meta - playlist(included starred and random)
- simple and customizable authentication
- mp3 down - sampling for streaming from GPRS / UMTS connections
- rating and starring
- full - text search songs and albums
- optional database backends
It works nicely for listing and playing your files with a subsonic client.
- Android client
- MiniSub and Perisonic
To run, just
- install flask and the other dependencies with # pip install flask
- configure your mp3 directory in webapp.py
- run with # python main.py -c /music/folder
- help yourself # python main.py --help
You can test methods adding some audio files in test / data / and messing with nose
Required
- pip install flask
- pip install mutagen
- pip install simplejson
- pip install argparse
Optional
- pip install sqlalchemy # [optional if you want a permanent store]
- pip install MySQL - python # [optional if you want MySQL support]
- pip install pylast # [optional if you want to scrobble to last.fm]
- pip install nose # [to test and develop]
- [apt - get | yum] install lame # [optional if you want transcoding and down-sampling]
If you have big music collections, Iposonic supports local data indexing with
- MySQL Embedded(library provided in this source, with full text search)
- MySQL Server(configure it in MySQLIposonicDB class)
- Sqlite(thru sqlalchemy, but does not support full text search)
Scrobbling is enabled on development branches: lastfm and fs_thread