Metadata-Version: 2.1
Name: deezer-python
Version: 0.9.0
Summary: A friendly wrapper library for the Deezer API
Home-page: https://github.com/browniebroke/deezer-python
Author: Bruno Alla
Author-email: alla.brunoo@gmail.com
License: MIT
Download-URL: https://github.com/browniebroke/deezer-python/tarball/0.9.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: six
Requires-Dist: requests
Provides-Extra: tornado
Requires-Dist: tornado ; extra == 'tornado'

Deezer Python Client
====================

|build| |win_build| |coverage| |codeclimate| |black|

|docs| |pypi| |pyversions| |license| |loc|

A friendly wrapper around the `Deezer API`_.

Installation
------------

The package is published on `PyPI <https://pypi.org/project/deezer-python/>`_ and can be installed by running:

::

    pip install deezer-python

Basic Use
---------

So far you can only retrieve the data for the public objects, for which no login is required.
The objects are translated to python resources, which are basically python objects encapsulating
the json dictionary returned by the API.

.. code-block:: python

    >>> client = deezer.Client()
    >>> client.get_album(12).title
    'Monkey Business'

See the whole API reference on the `Sphinx`_ generated `documentation`_.

Asynchronous client
```````````````````

You also can use an ``AsyncClient`` with tornado, which requires an optional dependency. You should
install with ``pip install deezer-python[tornado]``. Then, making requests look like:

.. code-block:: python

    >>> from tornado.gen import coroutine
    >>> from tornado.ioloop import IOLoop
    >>> from deezer.contrib.tornado import AsyncClient
    >>>
    >>>
    >>> @coroutine
    ... def main():
    ...     client = AsyncClient()
    ...     album = yield client.get_album(12)
    ...     print(album.title)
    ...
    >>> IOLoop.instance().run_sync(main)
    Monkey Business

Authentication
--------------

Not supported by this package. There are excellent other python modules to
handle that. There is the excellent `Python Social Auth`_, which supports
Deezer authentication.

.. |build| image:: https://img.shields.io/travis/browniebroke/deezer-python.svg?style=flat-square&logo=travis
    :target: https://travis-ci.org/browniebroke/deezer-python
    :alt: Build status
.. |win_build| image:: https://img.shields.io/appveyor/ci/browniebroke/deezer-python.svg?logo=appveyor&style=flat-square
    :target: https://ci.appveyor.com/project/browniebroke/deezer-python
    :alt: Build status
.. |codeclimate| image:: https://api.codeclimate.com/v1/badges/bfbf562a06742972c694/maintainability
   :target: https://codeclimate.com/github/browniebroke/deezer-python/maintainability
   :alt: Maintainability
.. |coverage| image:: https://img.shields.io/codecov/c/github/browniebroke/deezer-python.svg?logo=codecov&style=flat-square
    :target: https://codecov.io/gh/browniebroke/deezer-python
    :alt: Test coverage percentage
.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/ambv/black
.. |docs| image:: https://img.shields.io/readthedocs/deezer-python.svg?logo=read-the-docs&style=flat-square
    :target: https://deezer-python.readthedocs.io
    :alt: Documentation Status
.. |pypi| image:: https://img.shields.io/pypi/v/deezer-python.svg?logo=python&logoColor=fff&style=flat-square
    :target: https://pypi.org/project/deezer-python/
    :alt: PyPi Status
.. |loc| image:: https://tokei.rs/b1/github/browniebroke/deezer-python/
    :target: https://github.com/browniebroke/deezer-python
    :alt: LoC
.. |pyversions| image:: https://img.shields.io/pypi/pyversions/deezer-python.svg?style=flat-square
.. |license| image:: https://img.shields.io/pypi/l/deezer-python.svg?style=flat-square
.. _Deezer API: http://developers.deezer.com/api
.. _Sphinx: http://sphinx-doc.org/
.. _documentation: http://deezer-python.readthedocs.io/
.. _Python Social Auth: https://github.com/python-social-auth


.. :changelog:

History
=======

0.9.0 (2019-02-10)
------------------

- Add ``Client.advanced_search``.

0.8.0 (2018-10-30)
------------------

- Added ``index`` and ``limit`` to ``Client.search`` & ``Client.get_charts``.
  Defaults are set to Deezer API defaults.
- Changed tornado to be an optional requirement. If you want to use the
  asynchronous client, you need to install the library as follow
  ``pip install deezer-python[tornado]``.
- Simplified a couple of things to rely more on `six`_ for Python compatibility.
- Auto-format code using `black`_.

.. _black: https://github.com/ambv/black

0.7.0 (2018-10-03)
------------------

- Breaking: the ``async`` module has been renamed ``asynchronous`` as it was
  breaking under Python 3.7, thanks `Matheus Horstmann`_ for the patch
- Optimisation: the session is now stored internally by the client

0.6.1 (2017-06-19)
------------------

- Added access token to the request kwargs. Thanks `Nikolay Sheregeda`_ for
  the patch.
- Documentation update, thanks `Khamaileon`_ for the correction.

0.6.0 (2016-12-27)
------------------

- Refactoring to use `requests`_ instead of urllib, mocking using
  Requests mock instead of manual patching. Use `six`_ for Python
  2 and 3 compatibility.

.. _requests: http://docs.python-requests.org/
.. _six: https://pythonhosted.org/six/

0.5.0 (2016-12-26)
------------------

- Python 3.6 support
- Remove Python 3.2 classifier, support was dropped since 0.2.3
- Updated docs and testing setup

0.4.0 (2016-12-08)
------------------

- Add the `chart`_ resource. Thanks to `Pascal`_.
- Documentation updates regarding changelog and list of authors.

0.3.0 (2016-11-09)
------------------

- Enriching the API for resources to get related resources as iterators.
  Thanks to `Pascal`_.

0.2.3 (2016-11-07)
------------------

- Drop support for Python 3.2. It should still work, but we are not testing
  it anymore, as this version as reached end of life.

0.2.2 (2015-09-14)
------------------

- Python 3.5 support
- Various doc updates

0.2.0 (2015-01-31)
------------------

- Enriching the API for resources to get artists for a genre,
  top tracks of an artist, etc... Thanks to `Misuzu`_.

0.1.0 (2014-11-22)
------------------

- Initial release.

.. _Misuzu: https://github.com/misuzu
.. _Pascal: https://github.com/pfouque
.. _chart: https://developers.deezer.com/api/chart
.. _Khamaileon: https://github.com/khamaileon
.. _Nikolay Sheregeda: https://github.com/sheregeda
.. _Matheus Horstmann: https://github.com/horstmannmat


Credits
=======

“deezer-python” is written and maintained by Bruno Alla.


Contributors
------------

Other people contributed to this project:

- `Jonathan Virga <https://github.com/jnth>`_
- `khamaileon <https://github.com/khamaileon>`_
- `Kieran Wynne <https://github.com/k33k00>`_
- `Matheus Horstmann <https://github.com/horstmannmat>`_
- `Misuzu <https://github.com/misuzu>`_
- `Nikolay Sheregeda <https://github.com/sheregeda>`_
- `Pascal <https://github.com/pfouque>`_

Please add yourself here alphabetically when you submit your first pull request.


