Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ioggstream/iposonic

A tiny subsonic server api implementation with python + flask
https://github.com/ioggstream/iposonic

Last synced: 2 months ago
JSON representation

A tiny subsonic server api implementation with python + flask

Awesome Lists containing this project

README

        

iposonic
========

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

quickstart
==========
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

prerequisites
============
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]

big collections
===============

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
==========

Scrobbling is enabled on development branches: lastfm and fs_thread