Skip to main content

A tool to sync artists and music databases from MusicBrainz to Notion.

Project description

🎶 MusicBrainz2Notion

A tool for syncing artist and music data from MusicBrainz to Notion databases. Simply add artist MusicBrainz IDs in a Notion database, and the app will automatically fetch and update their data, including albums and songs.

Logo

Contents

📥 Download

Find the latest release for your OS here.

🏃 Getting Started

  1. Duplicate the Notion template to your Notion workspace.

    💡 Keep note of the url of the duplicated page (cmd/ctrl + L to copy to clipboard), you will need it when using the app for the first time.

  2. Set up a Notion integration:

    • Create the integration and obtain the Notion API key. Don't forget to grant the permissions to the integration for your newly duplicated page.
  3. Run the app.

    • You will be prompted for your notion API key and the url of the main page you duplicated.
    • ❗ The first time you run the app, it will download a small part of MusicBrainz dataset so you need around free 10GB in the app's folder. But don't worry, after processing the data, it only take only around 200MB.
  4. Discover who is the mystery artist in the template and enjoy your new music database 🎶!

➕ Adding artists

First, look up the MusicBrainz IDs (MBIDs) of the artists you want to sync to Notion.

💡 MBIDs are universal unique identifiers for artists, releases and songs. You can find the MBIDs in the URL of the artist's page: https://musicbrainz.org/artist/<MBID> or in the details tab of the artist's page (e.g. here: 5b11f4ce-a62d-471e-81fc-a69a8278c7da).

Once you have the artist IDs, create new pages in the Artist database and enter the MBIDs in the mbid field.

💡 Make sure that the To update field is toggled on so that the app knows which artists to sync.

The next time you will run the app, all albums and songs of the artists, as well as all information about the artists themselves will be added to the database 🎉!

⚙️ Configuration

Configuration is loaded from three sources, from lowest to highest priority:

  1. Configuration file
  2. Environment variables
  3. Command-line arguments

Configuration file

Edit the settings.toml file to set the database IDs and API keys or personalize your database.

💡 When you are prompted for the notion API key and the link of the database, the configuration file is automatically updated.

Environment variables

Default settings and settings from the configuration file can be overridden by environment variables. Environment variables can also be read from the .env file in the app folder.

You can find more information about available environment variables in the .env template and the --help command of the command line app.

Command Line

If you run the app via the command line (after cloning the repo and installing dependencies), you can pass parameters such as the Notion API key, database IDs, or your Fanart.tv API key.

Use the --help command to see all available options:

musicbrainz2notion --help

⚠️ Current Limitations

  • Large Databases: The app isn’t fully optimized for very large databases yet, so the startup may slow down as the number of pages grows.
  • Notion API: The Notion API can sometimes be unreliable, and not every scenario is covered yet—occasional crashes may occur.

Project details


Download files

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

Source Distribution

musicbrainz2notion-0.5.0.tar.gz (243.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

musicbrainz2notion-0.5.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file musicbrainz2notion-0.5.0.tar.gz.

File metadata

  • Download URL: musicbrainz2notion-0.5.0.tar.gz
  • Upload date:
  • Size: 243.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for musicbrainz2notion-0.5.0.tar.gz
Algorithm Hash digest
SHA256 932a6744e79a70265b7af78be2c05db8ee281baab52feda717c6065d0e129a70
MD5 888b716c9b9ec5bf55f9c01a60513065
BLAKE2b-256 0bdf811fc3389723ba3d8414666ab1c53a21c4e69830542f4329d65e44ab8c7c

See more details on using hashes here.

File details

Details for the file musicbrainz2notion-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for musicbrainz2notion-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca2a1c3a21c9218f3a3de576d3961e6ac1d3eba6e4fb5705b4e7f3e2cdcce400
MD5 739a2a81892096fcd71f12ace48aac6f
BLAKE2b-256 c54158bb415be8797fc17d1f3d1c71052f8bd1af5fa7c55202ef212ecdc8bbb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page