CameraHub Tagger is a companion command-line app for CameraHub to tag JPG scans of negatives with EXIF metadata from the CameraHub API. This means you can organise your film scans in a digital photo management app with full metadata.
To use CameraHub Tagger, you must already have entered your cameras, lenses, films and negatives into CameraHub. When you scan your negatives, name them consistently like {FILM}-{FRAME}-IMG0001.jpg
(for example 45-12-IMG0001.jpg
is frame 12 on film 45).
Run CameraHub Tagger in the same directory. CameraHub Tagger will attempt to match the JPGs with the negatives by using the filename (it will ask you if it can't figure it out). It will then generate a unique ID for that scanned JPG to tie it conclusively to the negative. Once the link is made, CameraHub Tagger will retrieve all data about that negative, film, lens and camera and use it to generate EXIF metadata, the same as digital cameras do. It is safe to run CameraHub Tagger multiple times on the same files, as only changed tags are written.
When your images have been tagged, any digital photo app will read and display these tags in the same way as digital photos.
Install from PyPI with Pip:
pip install camerahub-tagger
This installs a tagger
binary in your $PATH
.
tagger [-h] [-r] [-a] [-y] [-d] [-f FILE] [-p PROFILE]
Display help message and exit
Search for scans recursively from current directory
Don't prompt user to identify scans, only guess based on filename
Accept all changes without confirmation
Don't write any tags to image files
Only update tags which have previously been written. Don't make any new Scan records in CameraHub.
Image file to be tagged. If not supplied, tag everything in the current directory.
CameraHub connection profile. Default: prod
.
Clear existing EXIF metadata from the image file.
CameraHub Tagger needs some basic connection details to connect to CameraHub. On first run, it will ask for credentials for CameraHub and save them for future use.
If you need multiple profiles (e.g. if you have multiple users, or you need to connect to
a development instance of CameraHub) you can configure the extra profiles manually by editing
~/camerahub.ini
and adding more blocks.
The names of each profile are arbitrary, but CameraHub Tagger will automatically use the prod
profile
unless you override it with the --profile
option. Here's an example:
[prod]
server = https://camerahub.info/api
username = anseladams
password = yosemite
[dev]
server = https://dev.camerahub.info/api
username = annieleibovitz
password = johnandyoko
[local]
server = http://127.0.0.1:8000/api
username = admin
password = admin