beetsGUI — a local web GUI for beets (no Electron, just Flask + HTML) #6738
fastermadman
started this conversation in
Show and tell
Replies: 1 comment
-
|
Nice work on this! If you’re open to it, you might also want to check out beets-flask, which I’m working on with @pSpitzner. It’s another Flask-based web UI for beets, already used by quite a few people, and focuses a bit more on a deeper integration with beets itself, including things like resumable imports and more ongoing workflow support. Since both projects are in the same space, it might make sense to share ideas or combine effort where it fits rather than having parallel solutions. Happy to chat if you're interested. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
I'm pretty new to beets — I have a large, messy electronic music / DJ collection and wanted a tool to manage it, but the CLI felt like a steep entry point for someone who hadn't used beets before. So instead of memorizing flags, I built beetsGUI: a single-file HTML frontend backed by a small Flask server, designed to run as a standalone macOS app via Safari's "Add to Dock" feature.
What it does:
Import — configure and run beet import with all the usual options, no flag-memorization
Library — search and export your collection
Clean up — manage duplicates, cover art, metadata
Convert — find WAV/AIFF files and auto-convert lossless → ALAC on import (via ffmpeg)
Find — fast file search with fd
Unimported — scan a folder for music not yet in your library
Settings — edit config.yaml directly in the app, or generate one from the UI
Services — set up Discogs / MusicBrainz / Beatport4 credentials
It's bilingual (Danish/English), has dark + light mode, and doesn't require Electron or Docker — just Python + Flask (which beets' pipx environment already has).
Repo: https://github.com/fastermadman/beetsGUI
License: AGPL-3.0
I built this partly because I lost a chunk of my library to a careless beet duplicates -d (no format priority, so mp3 won over flac/aiff — lesson learned the hard way). The Convert/Clean up tabs try to make that kind of mistake harder. If you're also a beets newcomer who'd rather click than type, or have a similar DJ/electronic-collection workflow, it might be useful — and if you've been using beets for years and spot something I've gotten wrong about how it works, I'd genuinely appreciate the feedback. Issues and PRs welcome either way.
Screenshot attached below..
Beta Was this translation helpful? Give feedback.
All reactions