Naturtag#
Summary#
Naturtag is a tool for nature photographers that adds useful metadata to describe the organisms in your photos. It includes a desktop application, a command-line interface, and can also be used as a python library.
It is mainly intended for use with iNaturalist; it can tag your photos with either complete observation metadata, or just taxonomy metadata.
Use Cases#
Naturtag embeds this information in your local photo collection using XMP and EXIF metadata. This has a variety of uses, including:
Local photo organization#
Naturtag can tag your photos with hierarchical keywords (aka structured keywords), which are supported by some photo viewers/editors like Lightroom, FastPictureViewer, Photo Mechanic, and XnViewMP.
This essentially gives you a phylogenetic tree for browsing and filtering your photos.
Example in XnView
Photo hosting#
Naturtag can also simplify tagging photos for photo hosting sites like Flickr. For that use case, this tool generates semi-structured keywords in the same format as iNaturalist’s Flickr Tagger.
Example search using these tags: https://www.flickr.com/photos/tags/taxonomy:class=arachnida
Example of taxonomy tags on Flickr
Other biodiversity tools#
Finally, naturtag can improve interoperability with other tools and systems that interact with biodiversity data. For example, in addition to iNaturalist you might submit some observations to another platform with a more specific focus, such as eBird, BugGuide, or Mushroom Observer. For that use case, this tool supports Simple Darwin Core.
Installation#
See GitHub Releases for downloads and Installation for platform-specific instructions.
To just install naturtag as a python package, run:
pip install naturtag
Usage#
GUI#
The main interface for this project is still a work in progress.
It includes an interface for selecting and tagging images:
And tools to search and browse species to tag your images with:
See Application Guide for more details.
CLI#
Naturtag also includes a command-line interface. It takes an observation or species, plus some image files, and generates EXIF and XMP metadata to write to those images. You can see it in action here:
See CLI documentation for more details.
Library#
You can also import naturtag
as a python library, and use its main features in your own scripts or
applications. Basic example:
from naturtag import tag_images, refresh_tags
# Tag images with full observation metadata
tag_images(['img1.jpg', 'img2.jpg'], observation_id=1234)
# Refresh previously tagged images with latest observation and taxonomy metadata
refresh_tags(['~/observations/'], recursive=True)
See API Reference for more details.
Development Status#
See Issues for planned features and current progress.
If you have any suggestions, questions, or requests, please create an issue, or ping me (@jcook) on the iNaturalist Community Forum.
When I’m not working on this, I’m usually working on other libraries that naturtag benefits from, including requests-cache, pyinaturalist, and pyinaturalist-convert.