beets-cataloghint
A beets plugin that narrows beets' MusicBrainz match down to the exact release, before the candidate list is shown.
When beets imports an album, MusicBrainz's musicbrainz plugin often resolves the right release-group but struggles to pick the correct release in that group (different pressings, editions, regions, remasters...).
cataloghint looks through what info is available in the album folder (barcode, catalog number,
disambiguation text, country, year) and, when it can, picks the exact release for you.
What it does
- Exactly one release stands out: Picked, and recommendation forced to
strong - Several releases are tied (same barcode/catalog/year etc., nothing to differentiate them): beets' candidate list is narrowed to just those releases, and beets' distance scoring ranks and recommends between them.
- None stands out, but beets' top pick scores worse than other release(s) in the same group: Recommendation forced to
none - A disc under a parent folder whose sibling disc(s) already resolved as a multi-disc release: New disc is matched to that same release, as long as it still fits within the release's remaining multi-disc track count.
If no MusicBrainz release-group was resolved, or the lookup fails, cataloghint defers to beets as usual.
It also defers to beets if the picked release fits the local files worse than beets' medium_rec_thresh, which usually means beets found the wrong release-group.
Installation
git clone https://github.com/FlorentLM/beets-cataloghint
uv pip install beets-cataloghint
Or if you used Beet's default uv tool installation method:
git clone https://github.com/FlorentLM/beets-cataloghint
uv tool install beets --with ./beets-cataloghint --reinstall
Then enable the plugin in your beets config:
plugins: cataloghint musicbrainz
(cataloghint requires the musicbrainz plugin to be enabled)
Configuration
All settings optional, defaults are:
cataloghint:
check_cue: yes
check_sibling_discs: yes
auto_apply: no
preferred_countries: []
- check_cue: Look inside any
.cuefile found in the album folder forTITLE,PERFORMERandCATALOGhints. - check_sibling_discs: Reuse an already-resolved release for sibling discs found under the same parent folder (matched by artist/album identity), instead of re-scoring from scratch.
- auto_apply: When a release is uniquely resolved, apply it automatically instead of just
forcing the recommendation to
strong. - preferred_countries: MusicBrainz country codes in order of preference (for instance
[XW, XE, JP, US]), used as last resort, to break a tie after all other evidence are exhausted.
License
MIT
Metadata
Release files for beets-cataloghint 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| beets_cataloghint-1.0.0.tar.gz | 78.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beets_cataloghint-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 96.3 kB
Release files / beets_cataloghint-1.0.0.tar.gz
| Download URL | beets_cataloghint-1.0.0.tar.gz |
|---|---|
| Size | 78.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4afc4535adbcd52d0e7432ef2b4afe52871b369f1923399d9459f07c240fd946
|
|
BLAKE2b-256 checksum How to use checksums |
7ee471b74f02bc5f2ad62780b35351a2b07eb3a20210c0afedfa6c296d8ec642
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / beets_cataloghint-1.0.0-py3-none-any.whl
| Download URL | beets_cataloghint-1.0.0-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ad06eb6e6a6339afd2346cfc52657563c551b74775bbea5dca7e77dfe856ca3d
|
|
BLAKE2b-256 checksum How to use checksums |
bdcc67322153cce59c1b08ed87b2d319c157e40dd126a71319f52e6df03d8005
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|