naturtag


Namenaturtag JSON
Version 0.7.0.post0 PyPI version JSON
download
home_pagehttps://github.com/JWCook/naturtag
SummaryA tool for tagging your iNaturalist photo collection with observation metadata
upload_time2022-07-29 21:37:33
maintainer
docs_urlNone
authorJordan Cook
requires_python>=3.10,<3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Naturtag

[![Build status](https://github.com/JWCook/naturtag/workflows/Build/badge.svg)](https://github.com/JWCook/naturtag/actions)
[![Documentation Status](https://readthedocs.org/projects/naturtag/badge/?version=latest)](https://naturtag.readthedocs.io)
[![GitHub issues](https://img.shields.io/github/issues/JWCook/naturtag)](https://github.com/JWCook/naturtag/issues)
[![PyPI](https://img.shields.io/pypi/v/naturtag?color=blue)](https://pypi.org/project/naturtag)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/naturtag)](https://pypi.org/project/naturtag)


<!-- RTD-IGNORE -->
<br />

[![](assets/icons/naturtag-gh-preview.png)](https://naturtag.readthedocs.io)

## Contents
- [Summary](#summary)
- [Use Cases](#use-cases)
- [Installation](#installation)
- [Usage](#usage)
  - [GUI](#gui)
  - [CLI](#cli)
  - [Library](#library)
- [Development Status](#development-status)
<!-- END-RTD-IGNORE -->

## 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](https://www.inaturalist.org); 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](https://en.wikipedia.org/wiki/Extensible_Metadata_Platform) and
[EXIF](https://en.wikipedia.org/wiki/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**](https://millennialdiyer.com/articles/photography/lightroom-keyword-hierarchy/),
[**FastPictureViewer**](https://www.fastpictureviewer.com),
[**Photo Mechanic**](https://www.photometadata.org/META-Tutorials-Photo-Mechanic-Applying-Keywords),
and [**XnViewMP**](https://www.xnview.com/en/xnviewmp).

This essentially gives you a phylogenetic tree for browsing and filtering your photos.

<details>
<summary><b>Example in XnView</b></summary>

![screenshot](assets/screenshots/xnview.png)
</details>

### 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](https://www.inaturalist.org/taxa/flickr_tagger).

Example search using these tags: https://www.flickr.com/photos/tags/taxonomy:class=arachnida

<details>
<summary><b>Example of taxonomy tags on Flickr</b></summary>

![screenshot](assets/screenshots/flickr.png)
</details>


### 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](https://dwc.tdwg.org/simple).

## Installation
See [GitHub Releases](https://github.com/pyinat/naturtag/releases) for downloads and
[Installation](https://naturtag.readthedocs.io/en/latest/installation.html)
for platform-specific instructions.

To just install naturtag as a python package, run:
```bash
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:

![Screenshot](assets/screenshots/image-selector.png)

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

![Screenshot](assets/screenshots/taxon-search.png)

See [Application Guide](https://naturtag.readthedocs.io/en/latest/app.html) 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:
[![asciicast](https://asciinema.org/a/0a6gzpt7AI9QpGoq0OGMDOxqi.svg)](https://asciinema.org/a/0a6gzpt7AI9QpGoq0OGMDOxqi)

See [CLI documentation](https://naturtag.readthedocs.io/en/latest/cli.html) 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:
```python
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](https://naturtag.readthedocs.io/en/latest/reference.html) for more details.


## Development Status
* See [Issues](https://github.com/JWCook/naturtag/issues?q=) for planned features and current progress.
* If you have any suggestions, questions, or requests, please
  [create an issue](https://github.com/JWCook/naturtag/issues/new/choose), or ping me (**@jcook**)
  on the [iNaturalist Community Forum](https://forum.inaturalist.org/c/general/14).
* When I'm not working on this, I'm usually working on other libraries that naturtag benefits from, including
  [requests-cache](https://requests-cache.readthedocs.io),
  [pyinaturalist](https://pyinaturalist.readthedocs.io), and
  [pyinaturalist-convert](https://github.com/JWCook/pyinaturalist-convert).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/JWCook/naturtag",
    "name": "naturtag",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<3.11",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jordan Cook",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/e7/be/45149aaec1617d6e92d4954a0fe84316cd4d0f7898ac922401d7fbefb959/naturtag-0.7.0.post0.tar.gz",
    "platform": null,
    "description": "# Naturtag\n\n[![Build status](https://github.com/JWCook/naturtag/workflows/Build/badge.svg)](https://github.com/JWCook/naturtag/actions)\n[![Documentation Status](https://readthedocs.org/projects/naturtag/badge/?version=latest)](https://naturtag.readthedocs.io)\n[![GitHub issues](https://img.shields.io/github/issues/JWCook/naturtag)](https://github.com/JWCook/naturtag/issues)\n[![PyPI](https://img.shields.io/pypi/v/naturtag?color=blue)](https://pypi.org/project/naturtag)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/naturtag)](https://pypi.org/project/naturtag)\n\n\n<!-- RTD-IGNORE -->\n<br />\n\n[![](assets/icons/naturtag-gh-preview.png)](https://naturtag.readthedocs.io)\n\n## Contents\n- [Summary](#summary)\n- [Use Cases](#use-cases)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [GUI](#gui)\n  - [CLI](#cli)\n  - [Library](#library)\n- [Development Status](#development-status)\n<!-- END-RTD-IGNORE -->\n\n## Summary\nNaturtag is a tool for nature photographers that adds useful metadata to describe the organisms in\nyour photos. It includes a **desktop application**, a **command-line interface**, and can also be\nused as a **python library**.\n\nIt is mainly intended for use with [iNaturalist](https://www.inaturalist.org); it can tag your\nphotos with either complete observation metadata, or just taxonomy metadata.\n\n\n## Use Cases\nNaturtag embeds this information in your local photo collection using\n[XMP](https://en.wikipedia.org/wiki/Extensible_Metadata_Platform) and\n[EXIF](https://en.wikipedia.org/wiki/Exif) metadata. This has a variety of uses, including:\n\n### Local photo organization\nNaturtag can tag your photos with **hierarchical keywords** (aka structured keywords), which\nare supported by some photo viewers/editors like\n[**Lightroom**](https://millennialdiyer.com/articles/photography/lightroom-keyword-hierarchy/),\n[**FastPictureViewer**](https://www.fastpictureviewer.com),\n[**Photo Mechanic**](https://www.photometadata.org/META-Tutorials-Photo-Mechanic-Applying-Keywords),\nand [**XnViewMP**](https://www.xnview.com/en/xnviewmp).\n\nThis essentially gives you a phylogenetic tree for browsing and filtering your photos.\n\n<details>\n<summary><b>Example in XnView</b></summary>\n\n![screenshot](assets/screenshots/xnview.png)\n</details>\n\n### Photo hosting\nNaturtag can also simplify tagging photos for photo hosting sites like Flickr. For that use case, this\ntool generates semi-structured keywords in the same format as\n[iNaturalist's Flickr Tagger](https://www.inaturalist.org/taxa/flickr_tagger).\n\nExample search using these tags: https://www.flickr.com/photos/tags/taxonomy:class=arachnida\n\n<details>\n<summary><b>Example of taxonomy tags on Flickr</b></summary>\n\n![screenshot](assets/screenshots/flickr.png)\n</details>\n\n\n### Other biodiversity tools\nFinally, naturtag can improve interoperability with other tools and systems that interact with biodiversity\ndata. For example, in addition to iNaturalist you might submit some observations to another\nplatform with a more specific focus, such as **eBird**, **BugGuide**, or **Mushroom Observer**.\nFor that use case, this tool supports [Simple Darwin Core](https://dwc.tdwg.org/simple).\n\n## Installation\nSee [GitHub Releases](https://github.com/pyinat/naturtag/releases) for downloads and\n[Installation](https://naturtag.readthedocs.io/en/latest/installation.html)\nfor platform-specific instructions.\n\nTo just install naturtag as a python package, run:\n```bash\npip install naturtag\n```\n\n## Usage\n\n### GUI\nThe main interface for this project is still a work in progress.\n\nIt includes an interface for selecting and tagging images:\n\n![Screenshot](assets/screenshots/image-selector.png)\n\nAnd tools to search and browse species to tag your images with:\n\n![Screenshot](assets/screenshots/taxon-search.png)\n\nSee [Application Guide](https://naturtag.readthedocs.io/en/latest/app.html) for more details.\n\n### CLI\nNaturtag also includes a command-line interface. It takes an observation or species, plus some image\nfiles, and generates EXIF and XMP metadata to write to those images. You can see it in action here:\n[![asciicast](https://asciinema.org/a/0a6gzpt7AI9QpGoq0OGMDOxqi.svg)](https://asciinema.org/a/0a6gzpt7AI9QpGoq0OGMDOxqi)\n\nSee [CLI documentation](https://naturtag.readthedocs.io/en/latest/cli.html) for more details.\n\n### Library\nYou can also import `naturtag` as a python library, and use its main features in your own scripts or\napplications. Basic example:\n```python\nfrom naturtag import tag_images, refresh_tags\n\n# Tag images with full observation metadata\ntag_images(['img1.jpg', 'img2.jpg'], observation_id=1234)\n\n# Refresh previously tagged images with latest observation and taxonomy metadata\nrefresh_tags(['~/observations/'], recursive=True)\n```\n\nSee [API Reference](https://naturtag.readthedocs.io/en/latest/reference.html) for more details.\n\n\n## Development Status\n* See [Issues](https://github.com/JWCook/naturtag/issues?q=) for planned features and current progress.\n* If you have any suggestions, questions, or requests, please\n  [create an issue](https://github.com/JWCook/naturtag/issues/new/choose), or ping me (**@jcook**)\n  on the [iNaturalist Community Forum](https://forum.inaturalist.org/c/general/14).\n* When I'm not working on this, I'm usually working on other libraries that naturtag benefits from, including\n  [requests-cache](https://requests-cache.readthedocs.io),\n  [pyinaturalist](https://pyinaturalist.readthedocs.io), and\n  [pyinaturalist-convert](https://github.com/JWCook/pyinaturalist-convert).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A tool for tagging your iNaturalist photo collection with observation metadata",
    "version": "0.7.0.post0",
    "project_urls": {
        "Documentation": "https://naturtag.readthedocs.io",
        "Homepage": "https://github.com/JWCook/naturtag",
        "Repository": "https://github.com/JWCook/naturtag"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dab64056ea96ff9e50762ad760584941f5c78a1c3e6740ec8dd91812333ba985",
                "md5": "1017d10a86a2696463a9b67ec68f5707",
                "sha256": "3a325f4ffca994e987b613d737600f4260eeeb63893c727ecd55c6867e0944d0"
            },
            "downloads": -1,
            "filename": "naturtag-0.7.0.post0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1017d10a86a2696463a9b67ec68f5707",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<3.11",
            "size": 72292,
            "upload_time": "2022-07-29T21:37:30",
            "upload_time_iso_8601": "2022-07-29T21:37:30.967855Z",
            "url": "https://files.pythonhosted.org/packages/da/b6/4056ea96ff9e50762ad760584941f5c78a1c3e6740ec8dd91812333ba985/naturtag-0.7.0.post0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e7be45149aaec1617d6e92d4954a0fe84316cd4d0f7898ac922401d7fbefb959",
                "md5": "2f2ebb12288bf1decde92688ca28a72a",
                "sha256": "4cb74a67c03393fcbd6db9708825fac4bbf3d9f02892879297ae6d191705041c"
            },
            "downloads": -1,
            "filename": "naturtag-0.7.0.post0.tar.gz",
            "has_sig": false,
            "md5_digest": "2f2ebb12288bf1decde92688ca28a72a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<3.11",
            "size": 15816071,
            "upload_time": "2022-07-29T21:37:33",
            "upload_time_iso_8601": "2022-07-29T21:37:33.448364Z",
            "url": "https://files.pythonhosted.org/packages/e7/be/45149aaec1617d6e92d4954a0fe84316cd4d0f7898ac922401d7fbefb959/naturtag-0.7.0.post0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-07-29 21:37:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "JWCook",
    "github_project": "naturtag",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "naturtag"
}
        
Elapsed time: 0.14965s