Skip to content

erinxocon/spotify-local

Repository files navigation

Spotify has replaced most of this functionality with the web api. This project is no longer maintained!

Spotify-Local: A multi-platform API to control the local Spotify Client

https://img.shields.io/pypi/v/spotify-local.svg?maxAge=2592000 https://img.shields.io/pypi/l/spotify-local.svg?maxAge=2592000

Spotify-Local library is designed to make controlling the Spotify client on your local machine possible! This is a wrapper for the web helper process which exposes a simple api. Spotify-Local is inspired by SpotifyAPI-NET. This library allows you to perform simple actions quickly, or listen to events and register callbacks when a song changes, or the pause button is pushed.

When using this library you automatically get:

  • The ability to play/pause the current song
  • The ability to change tracks
  • You can register callbacks and listen for events when the state of Spotify changes
  • A nice context manager api using with

Installation

$ pipenv install spotify-local

Only Python 3.3+ is supported.

Tutorial & Usage

Connect to the Spotify Client (Spotify must be open to do this):

>>> from spotify_local import SpotifyLocal

>>> with SpotifyLocal() as s:
        pass

Pause the Spotify Client:

>>> with SpotifyLocal() as s:
        s.pause()

Grab the current state of the Spotify client, including now playing information:

>>> with SpotifyLocal() as s:
        print(s.get_current_status())

Play a playlist, song, album, artist, etc using a Spotify uri link:

>>> with SpotifyLocal() as s:
        s.playURI('spotify:track:0thLhIqWsqqycEqFONOyhu')

Register a callback and listen for events:

>>> from spotify_local import SpotifyLocal
>>> s = SpotifyLocal()
>>> @s.on('track_change')
>>> def test(event):
...     print(event)
>>> s.listen(blocking=False)
>>> print("Do more stuff because that runs in the background")

License

MIT

TODO

  • Create an async verion of the spotify controller class

About

Local control of the Spotify Client in python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages