Add import from existing Lidarr database #26

Open
opened 2026-03-17 16:44:10 -04:00 by connor · 0 comments
Owner

Many potential Shanty users will be migrating from Lidarr. Provide a migration tool that imports their existing Lidarr library (artists, albums, wanted items, quality profiles) into Shanty.

  1. Lidarr database reading — Lidarr uses a SQLite database. Read the relevant tables:

    • Artists (monitored status, metadata, quality profile)
    • Albums (monitored status, whether it's been downloaded)
    • Root folders
  2. Mapping — convert Lidarr's data model to Shanty's:

    • Lidarr artists → Shanty artists (with MusicBrainz IDs)
    • Lidarr monitored albums → Shanty watchlist items
    • Lidarr quality profiles → approximate Shanty download format preferences
  3. CLI tool:

    • shanty import lidarr --db /path/to/lidarr.db
    • --dry-run to preview what would be imported
    • Report: X artists, Y albums, Z items to be monitored

Acceptance Criteria

  • Can read a Lidarr SQLite database
  • Artists and their monitored status are imported correctly
  • Albums and their wanted/downloaded status are imported
  • MusicBrainz IDs are preserved
  • --dry-run works
  • Import summary is displayed
  • Duplicate detection — don't import artists/albums that already exist in Shanty

Dependencies

  • Issue #2 (database schema)
  • Issue #6 (watchlist management)
Many potential Shanty users will be migrating from Lidarr. Provide a migration tool that imports their existing Lidarr library (artists, albums, wanted items, quality profiles) into Shanty. 1. **Lidarr database reading** — Lidarr uses a SQLite database. Read the relevant tables: - Artists (monitored status, metadata, quality profile) - Albums (monitored status, whether it's been downloaded) - Root folders 2. **Mapping** — convert Lidarr's data model to Shanty's: - Lidarr artists → Shanty artists (with MusicBrainz IDs) - Lidarr monitored albums → Shanty watchlist items - Lidarr quality profiles → approximate Shanty download format preferences 3. **CLI tool:** - `shanty import lidarr --db /path/to/lidarr.db` - `--dry-run` to preview what would be imported - Report: X artists, Y albums, Z items to be monitored ### Acceptance Criteria - [ ] Can read a Lidarr SQLite database - [ ] Artists and their monitored status are imported correctly - [ ] Albums and their wanted/downloaded status are imported - [ ] MusicBrainz IDs are preserved - [ ] `--dry-run` works - [ ] Import summary is displayed - [ ] Duplicate detection — don't import artists/albums that already exist in Shanty ### Dependencies - Issue #2 (database schema) - Issue #6 (watchlist management)
connor added the MediumPriority label 2026-03-19 12:30:19 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Shanty/Main#26