gmusicapi allows control of Google Music with Python.
from gmusicapi import Mobileclient
api = Mobileclient()
api.login('[email protected]', 'my-password')
# => 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)
gmusicapi is not supported nor endorsed by Google.
That said, it's actively maintained, and used in a bunch of cool projects, like:
- Malcolm Still's command line Google Music client (screenshot)
- Ryan McGuire's GMusicFS - a FUSE filesystem linked to your music
- Kilian Lackhove's Google Music support for http://www.tomahawk-player.org
- Mario Di Raimondo's Google Music http proxy for mediaplayers
- @thebigmunch's syncing scripts
- Tom Graham's playlist syncing tool
Everything you need is at http://unofficial-google-music-api.readthedocs.org.
If the documentation doesn't answer your questions, or you just want to get in touch, either drop by #gmusicapi on Freenode or shoot me an email.
Over the summer, gmusicapi began a major shift away from the Webclient interface. That's finished now, so prefer the new Mobileclient interface whenever possible. Non-deprecated parts of the Webclient are listed at the Webclient documentation page.
I've started fulltime work at Venmo as of November, meaning this project is back to night and weekend development.
For fine-grained development updates, follow me on Twitter: @simonmweber.
Copyright 2013 Simon Weber. Licensed under the 3-clause BSD. See LICENSE.