FR-CAT-14 — Migration import from Lightroom and darktable #39

Open
opened 2026-09-05 16:20:19 +00:00 by dtourolle · 1 comment
Owner

FR-CAT-14 — Migration import. Reading ratings, labels, keywords and collections out of a Lightroom .lrcat or a darktable library.db. Unbuilt.

Why this one is worth more than its size

The destination is already built. Keywords, collections, ratings and the cross-device merge rules are all implemented and tested, and keywords.rs already anticipates the arrival in its own documentation ("an import from Lightroom can bring in…").

What is missing is only two source adapters — a comparatively contained piece of work for a requirement that decides whether somebody can try this software on a library they already have. That is the difference between an evaluation that takes an evening and one that takes a weekend nobody will spend.

Acceptance

  • Read a Lightroom .lrcat (SQLite): ratings, colour labels, keywords, collections.
  • Read a darktable library.db: the same four.
  • Match rows to catalogued files without trusting absolute paths.
  • Report what could not be matched, rather than silently importing a subset.
  • Import is non-destructive and repeatable — running it twice does not double keywords.

Related

#40 — XMP is the other half of "interoperate with the editors people are coming from", and the two share the question of what a keyword or a label means across applications.

See docs/outstanding.md §7.

**FR-CAT-14 — Migration import.** Reading ratings, labels, keywords and collections out of a Lightroom `.lrcat` or a darktable `library.db`. Unbuilt. ## Why this one is worth more than its size **The destination is already built.** Keywords, collections, ratings and the cross-device merge rules are all implemented and tested, and `keywords.rs` already anticipates the arrival in its own documentation ("an import from Lightroom can bring in…"). What is missing is only **two source adapters** — a comparatively contained piece of work for a requirement that decides whether somebody can try this software **on a library they already have**. That is the difference between an evaluation that takes an evening and one that takes a weekend nobody will spend. ## Acceptance - [ ] Read a Lightroom `.lrcat` (SQLite): ratings, colour labels, keywords, collections. - [ ] Read a darktable `library.db`: the same four. - [ ] Match rows to catalogued files without trusting absolute paths. - [ ] Report what could not be matched, rather than silently importing a subset. - [ ] Import is non-destructive and repeatable — running it twice does not double keywords. ## Related #40 — XMP is the other half of "interoperate with the editors people are coming from", and the two share the question of what a keyword or a label *means* across applications. See `docs/outstanding.md` §7.
dtourolle added the catalogunmet-requirementsize:M labels 2026-09-05 16:20:19 +00:00
Author
Owner

Related #40 — XMP is the other half of interoperating with the editors this imports from. A migration that cannot round-trip back out is a one-way door.

**Related** #40 — XMP is the other half of interoperating with the editors this imports from. A migration that cannot round-trip back out is a one-way door.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dtourolle/DarkRoom#39