Metadata-Version: 2.1
Name: Mopidy-GMusic
Version: 4.0.0a1
Summary: Mopidy extension for playing music from Google Play Music
Home-page: https://github.com/mopidy/mopidy-gmusic
Author: Ronald Hecht
Author-email: ronald.hecht@gmx.de
License: Apache License, Version 2.0
Platform: UNKNOWN
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Multimedia :: Sound/Audio :: Players
Requires-Python: >=3.7
Requires-Dist: Mopidy (>=3.0.0a5)
Requires-Dist: Pykka (>=2.0.1)
Requires-Dist: setuptools
Requires-Dist: gmusicapi (>=12.1)
Requires-Dist: requests (>=2.0)
Requires-Dist: cachetools (>=1.0)
Provides-Extra: dev
Requires-Dist: black ; extra == 'dev'
Requires-Dist: check-manifest ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: flake8-bugbear ; extra == 'dev'
Requires-Dist: flake8-import-order ; extra == 'dev'
Requires-Dist: isort[pyproject] ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: wheel ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Provides-Extra: lint
Requires-Dist: black ; extra == 'lint'
Requires-Dist: check-manifest ; extra == 'lint'
Requires-Dist: flake8 ; extra == 'lint'
Requires-Dist: flake8-bugbear ; extra == 'lint'
Requires-Dist: flake8-import-order ; extra == 'lint'
Requires-Dist: isort[pyproject] ; extra == 'lint'
Provides-Extra: release
Requires-Dist: twine ; extra == 'release'
Requires-Dist: wheel ; extra == 'release'
Provides-Extra: test
Requires-Dist: pytest ; extra == 'test'
Requires-Dist: pytest-cov ; extra == 'test'

*************
Mopidy-GMusic
*************

.. image:: https://img.shields.io/pypi/v/Mopidy-GMusic
    :target: https://pypi.org/project/Mopidy-GMusic/
    :alt: Latest PyPI version

.. image:: https://img.shields.io/circleci/build/gh/mopidy/mopidy-gmusic
    :target: https://circleci.com/gh/mopidy/mopidy-gmusic
    :alt: CircleCI build status

.. image:: https://img.shields.io/codecov/c/gh/mopidy/mopidy-gmusic
    :target: https://codecov.io/gh/mopidy/mopidy-gmusic
    :alt: Test coverage

`Mopidy <https://mopidy.com/>`_ extension for playing music from
`Google Play Music <https://play.google.com/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.


Dependencies
============

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.


Installation
============

Install the Mopidy-GMusic extension by running::

    python3 -m pip install mopidy-gmusic


Configuration
=============

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

   [gmusic]
   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::

    [gmusic]
    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::

    [gmusic]
    all_access = true

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

    [gmusic]
    bitrate = 320

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

    [gmusic]
    # 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::

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

Usage
=====

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
=================

- `Source code <https://github.com/mopidy/mopidy-gmusic>`_
- `Issue tracker <https://github.com/mopidy/mopidy-gmusic/issues>`_
- `Changelog <https://github.com/mopidy/mopidy-gmusic/blob/master/CHANGELOG.rst>`_


Credits
=======

- Original author: `Ronald Hecht <https://github.com/hechtus>`_
- Current maintainer: `Kaleb Elwert <https://github.com/belak>`_
- `Contributors <https://github.com/mopidy/mopidy-gmusic/graphs/contributors>`_


