Stream your music everywhere using Beetstream (SubSonic API)

Hi Beets community,
I’ve been working on a Beets plugin called Beetstream that allows you to stream your music on SubSonic/AirSonic compatible apps.

What I did is to re-implement most of the API endpoints needed by SubSonic clients on a flask server that calls the Beets database.

So if you manage your music library with Beets and want to stream it to your smartphone, you can simply:

  1. pip install beetstream (Beetstream · PyPI)
  2. Enable the plugin by writing plugins: beetstream in your config file (~/.config/beets/config.yaml)
  3. Run beet beetstream to launch the server
  4. Connect to the server using one of the supported clients

The code is available here: GitHub - BinaryBrain/Beetstream

Please note that not every endpoint has been implemented. There is still some small features that are missing but overall it works very well. I’ve been using it with different apps for months now.

Currently all tests has been done manually because many apps crash if the requests are not perfectly formatted. If this plugin gets more popular I’ll be happy to code unit tests.

Enjoy listening to your music anywhere!