ListenBrainz documentation
==========================

ListenBrainz is a project by the MetaBrainz foundation which allows you to publicly store a record of all of the songs
that you listen to. Using this data, we provide statistics, recommendations, and a platform for you and other developers
to explore this data.

If you want to use the ListenBrainz API to read or submit data, see the :doc:`API documentation <users/api/index>`. You also
may want to review the JSON documentation.

If you are interested in contributing to ListenBrainz as a developer, see the
:doc:`Developer documentation. <developers/devel-env>`

We also publish some maintainer documentation, which is used by the MetaBrainz team to run the ListenBrainz site.

Contents
--------

.. toctree::
   :maxdepth: 2
   :caption: API Documentation

   users/api/index
   users/api-usage
   users/json
   users/clients
   users/api-compat
   users/listenbrainz-dumps

.. toctree::
   :maxdepth: 2
   :caption: ListenBrainz Data Update Intervals

   general/data-update-intervals

.. toctree::
   :maxdepth: 2
   :caption: Developer Documentation

   developers/devel-env
   developers/spark-devel-env
   developers/architecture
   developers/spark-architecture
   developers/mapping
   developers/commands
   developers/troubleshooting

.. toctree::
   :maxdepth: 2
   :caption: Maintainer Documentation

   maintainers/deploy
   maintainers/docker-image
   maintainers/dumps
   maintainers/mapping
   maintainers/spotify-reader
   maintainers/rabbitmq
   maintainers/updating-prod-db-schema
   maintainers/pull-requests

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
