beets-tidalv1
tidalv1 adds TIDAL v1 sources to the built-in beets lyrics and fetchart plugins.
The lyrics endpoint used is the legacy v1 endpoint:
GET https://api.tidal.com/v1/tracks/{track_id}/lyrics
TIDAL v2 does not currently expose the same lyrics payload.
Install
beets-tidalv1 requires Beets 2.7 or newer and Python 3.10–3.14.
python -m pip install "beets-tidalv1 @ git+https://github.com/treyturner/beets-plugins.git#subdirectory=plugins/tidalv1"
Configure beets
Enable this plugin before lyrics and fetchart so it registers before beets builds the source lists:
plugins:
- tidalv1
- lyrics
- fetchart
lyrics:
sources:
- tidalv1
- lrclib
fetchart:
sources:
- filesystem
- tidalv1
- coverart
tidalv1:
v1_client_id: YOUR_TIDAL_V1_APP_CLIENT_ID
v1_client_secret: YOUR_TIDAL_V1_APP_CLIENT_SECRET
country_code: US
prefer_synced: yes
art_size: 1280
match_threshold: 0.78
A legacy v1 client ID and secret are required. If you have a credential pair in the same format used by tiddl, you can provide a Base64-encoded <v1_client_id>;<v1_client_secret> value instead:
tidalv1:
v1_client_id_secret_b64: BASE64_ENCODED_PAIR
If left empty, a best-effort attempt will be made to find it for you.
Run beet tidalv1 --auth once to authorize a TIDAL account, mirroring the official
tidal plugin's beet tidal --auth interface. The command opens the authorization
URL in your browser and stores a refreshable token cache named tidalv1_token.json
in beets' application config directory.
Usage
Fetch lyrics through the normal beets command:
beet lyrics artist:"Daft Punk"
Fetch album art through the normal fetchart command:
beet fetchart -f album:"Discovery"
During imports, the built-in lyrics and fetchart plugins handle automatic updates when their own auto settings are enabled.
Development
Run tests:
uv sync
uv run pytest
uv run mypy
uv run pyright
Run a single module:
uv run pytest tests/test_client.py
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beets_tidalv1-0.1.0.tar.gz.
File metadata
- Download URL: beets_tidalv1-0.1.0.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05e460e24bd099fe1c9a62ebed2478ee596f588663070f6f40b29827d99363e5
|
|
| MD5 |
73e21c47db18007d2d969df61d17de82
|
|
| BLAKE2b-256 |
58c4fbff724e685a96e93c988eea97983325ff9b353bb6e20af8c9575554165f
|
Provenance
The following attestation bundles were made for beets_tidalv1-0.1.0.tar.gz:
Publisher:
publish.yml on treyturner/beets-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
beets_tidalv1-0.1.0.tar.gz -
Subject digest:
05e460e24bd099fe1c9a62ebed2478ee596f588663070f6f40b29827d99363e5 - Sigstore transparency entry: 2338444094
- Sigstore integration time:
-
Permalink:
treyturner/beets-plugins@73a67a7f14113a034a7b6bbc3b9ce9a07a84f132 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/treyturner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73a67a7f14113a034a7b6bbc3b9ce9a07a84f132 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file beets_tidalv1-0.1.0-py3-none-any.whl.
File metadata
- Download URL: beets_tidalv1-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46e7620ddafc36189c5bd24f8e70606343e29552945aba72b4d76f71bf00877c
|
|
| MD5 |
b077fbc390a067596215a8993e3cf9ee
|
|
| BLAKE2b-256 |
158bfe3a9685f4c7e15498c729a09fa02e6f7ee60bcd0b4f211b56c748e5c028
|
Provenance
The following attestation bundles were made for beets_tidalv1-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on treyturner/beets-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
beets_tidalv1-0.1.0-py3-none-any.whl -
Subject digest:
46e7620ddafc36189c5bd24f8e70606343e29552945aba72b4d76f71bf00877c - Sigstore transparency entry: 2338444193
- Sigstore integration time:
-
Permalink:
treyturner/beets-plugins@73a67a7f14113a034a7b6bbc3b9ce9a07a84f132 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/treyturner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73a67a7f14113a034a7b6bbc3b9ce9a07a84f132 -
Trigger Event:
workflow_dispatch
-
Statement type: