maxqual
Build a music library at the highest quality the source serves, with complete tags, cover art and per-release organization.
maxqual is a standalone CLI for people who curate permanent local libraries (e.g. for Jellyfin/Plex/navidrome). It resolves release metadata, matches tracks, downloads audio natively (no re-encode), tags it properly, and organizes it into per-release folders with playlists and artwork.
What makes it different
- Zero-transcode pipeline. Streams are kept in their native container. Audio is never re-encoded, so what you keep is exactly what the source served — no generational loss.
- Quality-tier preference. When a higher audio tier is available to the session you supply, it is preferred automatically; otherwise the best publicly available stream is used.
- Discography-aware. Point it at an artist and it fetches albums, EPs and
singles as separate, properly numbered releases with an
.m3u8each. - Open metadata first. Release/track metadata comes from Deezer's public API (no key, no quota dance) for artist and album URLs; Spotify playlists/albums are supported with client credentials (your own app key, or a shared fallback with retries).
- Cover art maintenance.
maxqual coversre-embeds artwork when a strictly larger image can be found, and writesfolder.jpgper release.
How it works
metadata source (Deezer / Spotify)
│ release, tracklist, durations, artwork URL
▼
track matching (yt-dlp search, duration-scored)
│
▼
audio download (yt-dlp; native formats only)
│ m4a / opus, no conversion
▼
tagging + organization (mutagen)
NN - Artists - Title.ext + Release.m3u8 + folder.jpg
Install
Requires Python 3.10+, ffmpeg on PATH, and (recommended) a
deno binary — YouTube's JS challenges need a JS runtime
that yt-dlp can find.
pipx install maxqual # or: pip install maxqual
From source:
git clone https://github.com/mareekkk/maxqual
pipx install ./maxqual
Usage
# an artist's discography (Deezer metadata; albums + EPs + singles)
maxqual download "Jeff Kaale" -o ~/Music
# a specific album or playlist
maxqual download "https://www.deezer.com/album/123456" -o ~/Music
maxqual download "https://open.spotify.com/playlist/..." -o ~/Music
# use a logged-in browser session (recommended; tokens rotate, so export fresh)
maxqual download "https://open.spotify.com/playlist/..." \
--cookies-from-browser firefox --refresh-cookies -o ~/Music
# upgrade embedded cover art across a library
maxqual covers ~/Music
Resumable by design: existing files are skipped, so re-running a command retries only what is missing.
Optional: PO token provider
Some streams require a proof-of-origin token. If you run the community
bgutil-ytdlp-pot-provider
server locally (loopback only), yt-dlp picks it up automatically and maxqual
benefits with no extra configuration:
docker run -d --init --restart unless-stopped \
-p 127.0.0.1:4416:4416 brainicism/bgutil-ytdlp-pot-provider
Session cookies
Session cookies are credentials. maxqual exports them to a mode-600 file when
you pass --refresh-cookies, never prints them, and you should delete the
file when you are done. Anonymous operation also works and simply resolves to
the best public stream.
Project layout
src/maxqual/
audio.py # yt-dlp wrapper: search, native download, cookie export
sources.py # Deezer + Spotify metadata
tags.py # mutagen tagging, covers, m3u, folder.jpg
covers.py # cover-art upgrade pass
cli.py # command line interface
Legal
maxqual is a tool. It does not host, index or redistribute any content, and it ships without credentials of any kind.
- You are responsible for what you download and for complying with the terms of the platforms you interact with and the copyright of the material involved.
- Intended uses include: content you own or created, content published under permissive licenses (e.g. Creative Commons, public domain), and anything you are licensed to archive.
- The authors do not condone infringement and provide no support for it.
Extraction technology is a moving target; if a source changes its player
response format, this tool inherits whatever yt-dlp handles.
License
MIT — see LICENSE.
Metadata
Release files for maxqual 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| maxqual-1.0.1.tar.gz | 15.2 kB | With provenance | Details for maxqual-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| maxqual-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for maxqual-1.0.1-py3-none-any.whl |
Total release size: 30.3 kB
Release files / maxqual-1.0.1.tar.gz
| Download URL | maxqual-1.0.1.tar.gz |
|---|---|
| Size | 15.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e88f4f9e4705447c8f07d1e884c6432955ecb27dc4939a397a87ba17cba825ce
|
|
BLAKE2b-256 checksum How to use checksums |
d6bd54a79b4bd61c601f50705094fcc9abd7c34bf7d847dc8db0a870e1936b61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency logRelease files / maxqual-1.0.1-py3-none-any.whl
| Download URL | maxqual-1.0.1-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fb12ab4e0e4f507ea26ec39f9be80d5d6d1d3af0e3cede0b4a13f6ee220e1e98
|
|
BLAKE2b-256 checksum How to use checksums |
73c837017755be28ced860505deade114bebc01629e1f869112fa14c3a377140
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency logSecurity for maxqual 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for maxqual-1.0.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.