Skip to main content

Mopidy extension for playing music from Google Play Music

Project description

Latest PyPI version CircleCI build status Test coverage

Mopidy extension for playing music from Google Play Music.

Co-maintainer wanted

We are currently looking for a co-maintainer. Preferably someone who is familiar with the codebase, familiar with Python development, and uses the uploaded music feature. If you’re interested, please take a look at the code base and work on submitting a pull request or two to show you understand how everything works together. If you need help getting a development environment set up, don’t hesitate to ping “belak” in the #mopidy channel on the Freenode IRC network.


You must have a Google account, and either:

  • have some music uploaded to your Google Play Music library, or
  • have a paid subscription for Google Play Music.


Install by running:

sudo python3 -m pip install Mopidy-GMusic

See for alternative installation methods


Run mopidy gmusic login to obtain a refresh token, and then include it in your config file:

refresh_token = <your refresh token>

Google Play Music now requires all clients to provide a device ID. In the past, Mopidy-GMusic generated one automatically from your MAC address, but Google seems to have changed their API in a way that prevents this from working. Therefore you will need to configure one manually.

If no device ID is configured, Mopidy-GMusic will output a list of registered devices and their IDs. You can either use one of those IDs in your config file, or use the special value mac if you want gmusicapi to use the old method of generating an ID from your MAC address:

deviceid = 0123456789abcdef
# or
deviceid = mac

By default, All Access will be enabled automatically if you subscribe. You may force enable or disable it by using the all_access option:

all_access = true

By default, the bitrate is set to 160 kbps. You can change this to either 128 or 320 kbps by setting:

bitrate = 320

All Access radios are available as browsable content or playlist. The following are the default config values:

# Show radio stations in content browser
radio_stations_in_browse = true
# Show radio stations as playlists
radio_stations_as_playlists = false
# Limit the number of radio stations, unlimited if unset
radio_stations_count =
# Limit the number or tracks for each radio station
radio_tracks_count = 25

The library and playlists are automatically refresh at regular intervals. Refreshing can be CPU intensive on very low-powered machines, e.g. Raspberry Pi Zero. The refresh intervals can be configured:

# How often to refresh the library, in minutes
refresh_library = 1440
# How often to refresh playlists, in minutes
refresh_playlists = 60


The extension is enabled by default if all dependencies are available. You can simply browse through your library and search for tracks, albums, and artists. Google Play Music playlists are imported as well. You can even add songs from your All Access subscription to your library. Mopidy will able to play them.

Project resources


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Mopidy-GMusic, version 4.0.0
Filename, size File type Python version Upload date Hashes
Filename, size Mopidy_GMusic-4.0.0-py3-none-any.whl (20.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size Mopidy-GMusic-4.0.0.tar.gz (22.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page