gmusicapi: an unofficial API for Google Play Music
This library allows control of Google Music with Python.
from gmusicapi import Mobileclient api = Mobileclient() api.login('email@example.com', 'my-password', Mobileclient.FROM_MAC_ADDRESS) # => True library = api.get_all_songs() sweet_track_ids = [track['id'] for track in library if track['artist'] == 'The Cat Empire'] playlist_id = api.create_playlist('Rad muzak') api.add_songs_to_playlist(playlist_id, sweet_track_ids)
This project is not supported nor endorsed by Google. Use common sense (protocol compliance, reasonable load, etc) and don't ruin the fun for everyone else.
All major functionality is supported:
- Library management: list, create, delete, and modify songs and playlists
- Streaming and single-song downloading
- Music Manager uploading/scan-and-match and library downloading
- Most All Access features
See the changelog for changes by version.
.. toctree:: :hidden: usage ports contributing
The :ref:`usage section <usage>` has installation instructions and some simple examples.
Api and data reference
The reference has details for all classes and functions, as well as information on the Google Music data you'll encounter:
.. toctree:: :maxdepth: 2 reference/api reference/protocol
Making gmusicapi better
Contributions are always welcome! The :ref:`contributing section <contributing>` has more details.
The code might also be useful.
Ports and other languages
The :ref:`ports section <ports>` lists known ports and information for making ports.
Running into bugs? Have questions? Drop by
#gmusicapi on Freenode.
If you've never used IRC before, it's easy: just fill in a nickname and captcha
at this webchat link.
If IRC makes you uncomfortable, you can always email me directly: firstname.lastname@example.org.