web-based photo library management software
Go to file
2019-07-01 13:53:50 -07:00
photoapp photo library planning 2019-07-01 13:53:50 -07:00
styles photo editing and misc template refactor 2018-09-23 15:02:03 -07:00
templates missing template 2018-09-23 18:33:28 -07:00
.dockerignore Docker fixes 2018-09-11 22:25:09 -07:00
.gitignore album view for map & cleanup 2018-09-23 18:26:36 -07:00
Dockerfile Docker fixes 2018-09-11 22:25:09 -07:00
gruntfile.js Make packaging work 2018-09-09 16:45:51 -07:00
package.json Make packaging work 2018-09-09 16:45:51 -07:00
README.md checkdupes cli function, add readme 2019-06-21 09:22:42 -07:00
requirements.txt cli beginnings 2019-06-19 22:34:52 -07:00
setup.py cli beginnings 2019-06-19 22:34:52 -07:00


Cloud-native photo and related media library software, with a focus for photography hobbyists.

TODO longer description




After installation, photolib provides a CLI tool, photocli. It can be used as follows:

  • photocli checkdupes - scan files and print those not already in the library:
$ find source -type f -exec shasum -a 256 {} \; | tee shas.txt
544b5a4f3898abae73260930ee70931a3992c048649692cef89b37576e886f69  source/2018-12-09 13.52.22.jpg
d2c2c30ca4986d364026644881d667162031008e60aac6a69d7b18230b7ea98c  source/2019-04-08 20.05.02.jpg
9d42859ed92d7fb978cf73b41293480e1eab03d2d3a14c185c4daf3a49d324ab  source/2019-06-19 16.28.07.png

$ photocli -s http://localhost:8080 checkdupes --sha-files shas.txt

TODO: support not using --sha-files

  • photocli ingest - import new photos into the library:
$ photocli -s http://localhost:8080 ingest photos/*.jpg raws/*.cr2


TODO: implement this

There is some non-obvious behavior in the ingest process that is important to understand. Many photographers shoot in multiple formats, in the sense that one click of the shutter produces multiple formats. Jpeg and Raw is common. During ingest, photocli assumes that files with the same filename are multiple formats of the same image. E.g., if you have both IMG_1234.JPG and IMG_1234.cr2, the two images will be grouped in the library. This combination action is only applied during ingest; images already in the library that happen to share a filename with a file being imported will not be merged. To add a format to a photo already in the library, see photocli addformat.