Skip to content
A go library for accessing Adobe Lightroom catalogs
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd/luminosity
js
.gitignore
Makefile
README.md
apex.go
catalog.go
collections.go
db.go
distribution.go
go.mod
go.sum
namedobject.go
photos.go
previewfile.go
previews.go
sidecars.go
stats.go

README.md

Luminosity

A library for accessing Adobe Lightroom catalogs.

Here's something you can do with the output - Lightroom Catalog Visualization with Go and d3 .

Documentation is available on godoc.org.

Capabilities

  • Produce summary statistics on a variety of dimensions - photos shot by day, by camera and lens, by aperture or exposure, etc...
  • Produce hierarchical summaries for rendering Sunburst charts with the accompanying JavaScript code (see above)
  • Extract JPEG previews from the catalog preview cache
  • Purge sidecar files with the CLI commands

Origins

This library began as a very simple script to purge sidecar files from disk. The bulk of my photography is travel photography, and for my current setup I usually don't bring a laptop - I travel with an iPad and a WD My Passport Wireless Pro backup device, which is basically a portable wifi NAS with SD card backup.

The Passport device can serve access to the downloaded photos - it's slow, but it's sufficient for basic review, and for selecting highlights to post while travelling, but it doesn't support RAW files. Therefore, I shoot in RAW+JPG while travelling, and when I return and back everything up to my Synology I purge the sidecar files.

Since every Lightroom catalog is actually a Sqlite database file, running SQL queries to extract the sidecar paths was trivial - that ensures that I'm not deleting any images that were shot as JPG only.

Since then, the codebase has evolved significantly thanks to my interests in data visualization.

Reference

You can’t perform that action at this time.