pyspotify v2.0.0b1 released, with new event loop and audio sinks

pyspotify 2.x is a full rewrite of pyspotify. While pyspotify 1.x is a CPython C extension, pyspotify 2.x uses CFFI to make 100% of the libspotify C library available from Python. It works on CPython 2.7 and 3.2+, as well as PyPy 2.1+.

pyspotify provides a Python interface to Spotify’s online music streaming service. With it you can access music metadata, search in Spotify’s library of 20+ million tracks, manage your Spotify playlists, and play music from Spotify. All from your own Python applications.

Since the previous release, pyspotify has become thread safe. That is, pyspotify can safely be used from multiple threads. The added thread safety made an integrated event loop possible, which greatly simplifies the usage of pyspotify, as can be seen from the updated example in examples/shell.py. Audio sink helpers for ALSA and PortAudio have been added, together with updated examples that can play music. A number of bugs have been fixed, and at the time of the release, there are no known issues. For more details, see the full changelog.

The pyspotify 2.0.0b1 release marks the completion of all planned features for pyspotify 2.x. The plans for the next releases are fixing bugs as they surface, incrementally improving the documentation, and integrating feedback from increased usage of the library in the wild.

I’d love it if you would give pyspotify 2.x a spin and report any issues you find.

To get started, check out the installation instructions for some help on the C library part of the installation, then continue on with the quickstart guide, and finally the complete API reference.

Happy music hacking!