2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:55:42 -04:00
2026-03-17 13:44:34 -04:00
2026-03-17 13:44:34 -04:00
2026-03-17 13:55:42 -04:00

shanty

A modular music management application for the high seas. Shanty aims to be a better all-in-one solution for managing, tagging, organizing, and downloading music — built as a collection of standalone tools that work together seamlessly.

Architecture

Shanty is organized as a Cargo workspace. Each component is its own crate, usable both as a library and (where applicable) a standalone CLI binary.

Crate Description
shanty-db Shared database schema and access layer
shanty-index Music file indexing and metadata extraction
shanty-tag Metadata tagging via online databases
shanty-org File organization and renaming
shanty-watch Library watchlist management
shanty-dl Music downloading (yt-dlp and more)
shanty-search Online music search
shanty-notify Notifications for new releases and events
shanty-playlist Playlist generation
shanty-serve Music serving and streaming
shanty-play Built-in playback
shanty-web Web interface backend (Actix) with Elm frontend

Building

cargo build --workspace

Testing

cargo test --workspace

License

MIT

Description
The main cargo workspace for shanty
Readme 724 KiB
Languages
Rust 98.3%
Dockerfile 1.4%
Just 0.3%