Skip to content

Tag your nature photos with iNat taxonomy and observation metadata

License

Notifications You must be signed in to change notification settings

pyinat/naturtag

Repository files navigation

Naturtag

Build status Documentation Status GitHub issues PyPI PyPI - Python Version


Contents

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, but can also be used independently.

Naturtag gathers complete observation metadata (for iNaturalist observation photos), or just taxonomy metadata (for everything else). It then embeds this information in your local photo collection using XMP and EXIF metadata.

Use Cases

This image metadata 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, digiKam, and XnViewMP.

This basically gives you a taxonomic tree for browsing and filtering your photos.

Example in XnView

screenshot

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

screenshot

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

Naturtag is primarily a desktop application. It includes an interface for selecting and tagging images:

Screenshot

And tools to search and browse species to tag your images with:

Screenshot

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.

Example:

# Tag images with metadata from observation ID 5432
nt tag -o 5432 img1.jpg img2.jpg

# Refresh previously tagged images with latest observation and taxonomy metadata
nt refresh -r ~/observations

You can see it in action here: asciicast

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=5432)

# Refresh previously tagged images with latest observation and taxonomy metadata
refresh_tags(['~/observations/'], recursive=True)

See API Reference for more details.

Development Status