Skip to main content

A desktop music player for Jellyfin and Navidrome servers — bit-perfect mpv playback (Linux + Windows).

Project description

jellytoast

A desktop music player for Jellyfin and Navidrome servers —
bit-perfect playback, casting, mini-player, and offline downloads.

CI License

Features

  • Desktop app for your self-hosted music — supports Jellyfin and Navidrome, with multiple libraries.
  • Bit-perfect audio — FLAC / ALAC / OPUS / DSD playback via mpv.
  • Cast anywhere — send music to Chromecast, AirPlay 2, Sonos, DLNA, or Snapcast. A built-in local relay can forward the stream for trickier setups, like Tailscale connections or fully offline playback.
  • Offline mode — cache albums, playlists, or your whole library for offline playback.
  • Floating mini player — compact and album-art views.
  • Desktop features — media keys, a tray icon, optional notifications, and a start-at-login option.
  • Frosted-glass look — real background blur on KDE and Windows, light and dark themes, and your own accent color.
  • And more — synced lyrics, an audio visualizer, smart playlists, smart shuffle, a sleep timer, ListenBrainz scrobbling, tag editing (Jellyfin), and encrypted login storage.

Install

Platform How
Ubuntu / Debian (22.04+ / 12+) Download the .deb from Releases, then sudo apt install ./jellytoast_*_amd64.deb
Windows 10/11 (x64) Installer or portable zip from Releases. The build is unsigned, so SmartScreen warns on first run — click More info → Run anyway (verify the download's SHA256 against SHA256SUMS).
From source (any OS) Python 3.11+, Qt 6, libmpv — see below

Coming soon: AUR, Flathub, winget, and PyPI (pipx install jellytoast) are packaged and staged but not yet published — they land shortly after v0.1.0. Until then use the .deb, the Windows build, or from source. (Pip users can pipx install the wheel attached to the release today.)

From source (any platform with Python 3.11+, Qt 6, libmpv):

git clone https://github.com/wolfgangwarehaus/jellytoast.git
cd jellytoast
pip install -e .
jellytoast            # or: python3 -m jellytoast

Want to contribute? CONTRIBUTING.md has the dev setup, the architecture, and the conventions this codebase follows.

Documentation

Doc What it is
docs/user_guide.md Shortcuts, mini player, tray, casting, settings, themes & blur, troubleshooting
CONTRIBUTING.md Dev setup, architecture & the conventions this codebase follows
docs/SPEC.md What the app actually does today
docs/decisions.md Architecture decision log (why, not just what)
docs/TODO.md The backlog (P0–P4)
SECURITY.md How to report a vulnerability
CHANGELOG.md Dated history of what shipped

License

GPL-2.0-or-later. See LICENSE.

Support

Want to leave a tip? Ko-fi ☕

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

jellytoast-0.1.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

jellytoast-0.1.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file jellytoast-0.1.0.tar.gz.

File metadata

  • Download URL: jellytoast-0.1.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for jellytoast-0.1.0.tar.gz
Algorithm Hash digest
SHA256 035eba4862116c770d1e6da15a98dbad2736da60a350f56abd84067bcdc22919
MD5 85421fdeeca6e59328320be9fba585fd
BLAKE2b-256 0c969539f6773466bf57576b261274967d234015fc69aaa472be273be9538e5f

See more details on using hashes here.

File details

Details for the file jellytoast-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jellytoast-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for jellytoast-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96aa2e2af01f3042902de71f9120f1edc3c544eb843e09fc078c584e01896595
MD5 a112cba2ac18886c0bdbf47eccf52a62
BLAKE2b-256 506adbe8a283b9e49bcbe61614affec508f4774f7415d6f5a14adfd51bd081e7

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