Server for the ListenBrainz project, including the front-end (javascript/react) code that it serves and all of the data processing components that LB uses. https://listenbrainz.org/
  • Python 57%
  • TypeScript 36%
  • SCSS 3%
  • PLpgSQL 1.9%
  • HTML 1%
  • Other 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dependabot[bot] 71f92e100b chore(deps-dev): bump decode-uri-component from 0.4.1 to 0.5.0
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.4.1 to 0.5.0.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.4.1...v0.5.0)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-version: 0.5.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-24 13:00:53 +02:00
.github Update release drafter to move dependabot to separate section 2026-09-24 12:59:30 +02:00
.vscode Lint code 2025-01-23 22:26:53 +05:30
.well-known Add the github wellknown file (#3017) 2024-10-29 14:53:16 +01:00
admin Export: add support for start/end in user_data_export 2026-09-24 12:11:11 +02:00
data Ensure one unique country per artist (#3515) 2026-01-22 00:30:36 +05:30
docker revert image qualification of labels 2026-09-15 17:21:45 +02:00
docs Export: Document star/end times in export API docs 2026-09-24 12:11:11 +02:00
frontend dd Pillow to requirements.txt and add the og-overlay img 2026-09-24 12:29:55 +02:00
listenbrainz Fix outstanding review comments for playlist OG image 2026-09-24 12:29:55 +02:00
listenbrainz_spark Merge pull request #3795 from metabrainz/monthly-dumps 2026-08-18 14:21:04 +02:00
mbid_mapping format containerfiles 2026-09-15 17:21:45 +02:00
.dockerignore Refactor dump download code and support local listen dumps 2024-01-29 23:06:31 +05:30
.eslintrc.js Install ESLint plugin for testing-library 2023-08-30 16:11:13 +02:00
.gitattributes Initial commit of MessyBrainz using parts of the AcousticBrainz server 2015-09-05 13:23:15 +02:00
.gitignore feat(tests): add test for Audioscrobbler importer 2025-12-17 01:17:04 +05:30
.pep8speaks.yml Add a pep8speaks config file with line length 130 2020-05-02 19:43:05 +01:00
.readthedocs.yaml update readthedocs config (#3290) 2025-06-02 21:27:25 +05:30
.stylelintrc.js Less>Sass: Remove Less compilation, replace with Sass 2025-06-11 18:45:33 +02:00
babel.config.js babel.config.js: Bring back support for Firefox 44 2022-12-08 23:57:25 +05:30
consul_config.py.ctmpl Store user data imports in garage (#3855) 2026-09-09 10:17:15 +02:00
develop.sh fix: env changes removed 2025-07-31 05:30:17 +00:00
Dockerfile revert image qualification of labels 2026-09-15 17:21:45 +02:00
Dockerfile.nginx.prod format containerfiles 2026-09-15 17:21:45 +02:00
Dockerfile.spark format containerfiles 2026-09-15 17:21:45 +02:00
jest.config.js Remove Enzyme dependency 2025-07-11 19:10:27 +02:00
LICENSE more conflict resolution 2020-04-23 16:22:53 +01:00
manage.py Write to new listens DB before Timescale and remove migration tooling (#3874) 2026-09-16 16:22:37 +02:00
mlhd_manage.py try running similarity on mlhd again 2023-07-28 20:45:40 +05:30
package-lock.json chore(deps-dev): bump decode-uri-component from 0.4.1 to 0.5.0 2026-09-24 13:00:53 +02:00
package.json chore(deps-dev): bump decode-uri-component from 0.4.1 to 0.5.0 2026-09-24 13:00:53 +02:00
pytest.ini feat: Add pytest timeout configuration 2025-02-12 18:04:03 +00:00
pytest.spark.ini Merge all-changes-mapping into master (#714) 2020-01-30 22:19:54 +05:30
README.md Update README.md 2025-12-27 16:21:12 +13:00
requirements.txt chore(deps): bump pillow from 11.2.1 to 12.3.0 2026-09-24 12:42:18 +02:00
requirements_development.txt chore(deps-dev): bump lxml from 5.4.0 to 6.1.0 2026-04-21 22:37:53 +00:00
requirements_spark.txt chore(deps): bump pyarrow from 19.0.1 to 23.0.1 2026-06-05 23:42:59 +00:00
run_websockets.py Update dependencies and websockets setup 2026-03-05 19:14:57 +05:30
spark_config.sh.sample Delete unneeded spark files 2021-05-07 23:53:58 +05:30
spark_manage.py move back to spark_manage.py 2025-03-09 00:51:45 +05:30
test.sh feat: store user data exports in garage (#3839) 2026-09-08 11:45:53 +02:00
tsconfig.json TS: Update module resolution to "bundler" 2025-05-06 19:10:43 +02:00
webpack.config.js Add comment to webpack minimizer config 2026-04-28 13:32:20 +02:00


ListenBrainz

Server for the ListenBrainz project

Readthedocs status GitHub last commit GitHub pull requests

Website • Documentation • Bug tracker


About

ListenBrainz keeps track of music you listen to and provides you with insights into your listening habits. We're completely open-source and publish our data as open data.

You can use ListenBrainz to track your music listening habits and share your taste with others using our visualizations. We also have an API if you want to do more with our data.

ListenBrainz is operated by the MetaBrainz Foundation which has a long-standing history of curating, protecting and making music data available to the public.

For more information about this project and its goals, look at our website, specifically the about page.

Changes and other important announcements about the ListenBrainz services will be announced on our blog. If you start using our services in any production system, we urge you to follow the blog!

Commercial use

All of our data is available for commercial use. You can find out more about our commercial use support tiers on the MetaBrainz site.

Contributing

If you are interested in helping out, consider donating to the MetaBrainz Foundation.

If you are interested in contributing code or documentation, please have a look at the issue tracker or chat with us in IRC/Matrix/Discord on the #metabrainz channel.

Development environment

These instructions help you get started with the development process. Installation in a production environment may be different.

Read the development environment documentation

In order to work with Spark, you'll have to setup the Spark development environment. Read the documentation.

Documentation

Full documentation for the ListenBrainz API is available at listenbrainz.readthedocs.org. You can also build the documentation locally:

cd listenbrainz-server/docs
pip install -r requirements.txt
make clean html

License Notice

Copyright (C) 2017 MetaBrainz Foundation Inc.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA