Skip to main content

Data conversion tools for iNaturalist observations and taxonomy

Project description

pyinaturalist-convert

Build status codecov Docs PyPI Conda PyPI - Python Versions

This package provides tools to convert iNaturalist observation data to and from a wide variety of useful formats. This is mainly intended for use with the iNaturalist API via pyinaturalist, but also works with other data sources.

Complete project documentation can be found at pyinaturalist-convert.readthedocs.io.

Formats

Import

Export

  • CSV, Excel, and anything else supported by tablib
  • Dataframes, Feather, Parquet, and anything else supported by pandas
  • Darwin Core
  • GeoJSON
  • GPX
  • SQLite
  • SQLite + FTS5 text search for taxonomy

Installation

Install with pip:

pip install pyinaturalist-convert

Or with conda:

conda install -c conda-forge pyinaturalist-convert

To keep things modular, many format-specific dependencies are not installed by default, so you may need to install some more packages depending on which features you want. Each module's docs lists any extra dependencies needed, and a full list can be found in pyproject.toml.

For getting started, it's recommended to install all optional dependencies:

pip install pyinaturalist-convert[all]

Usage

Export

Get your own observations and save to CSV:

from pyinaturalist import get_observations
from pyinaturalist_convert import *

observations = get_observations(user_id='my_username')
to_csv(observations, 'my_observations.csv')

Or any other supported format:

to_dwc(observations, 'my_observations.dwc')
to_excel(observations, 'my_observations.xlsx')
to_feather(observations, 'my_observations.feather')
to_geojson(observations, 'my_observations.geojson')
to_gpx(observations, 'my_observations.gpx')
to_hdf(observations, 'my_observations.hdf')
to_json(observations, 'my_observations.json')
to_parquet(observations, 'my_observations.parquet')
df = to_dataframe(observations)

Import

Most file formats can be loaded via pyinaturalist_convert.read():

observations = read('my_observations.csv')
observations = read('my_observations.xlsx')
observations = read('my_observations.feather')
observations = read('my_observations.hdf')
observations = read('my_observations.json')
observations = read('my_observations.parquet')

Download

Download the complete research-grade observations dataset:

download_dwca_observations()

And load it into a SQLite database:

load_dwca_observations()

And do the same with the complete taxonomy dataset:

download_dwca_taxa()
load_dwca_taxa()

Load taxonomy data into a full text search database:

load_taxon_fts_table(languages=['english', 'german'])

And get lightning-fast autocomplete results from it:

ta = TaxonAutocompleter()
ta.search('aves')
ta.search('flughund', language='german')

Feedback

If you have any problems, suggestions, or questions about pyinaturalist-convert, you are welcome to create an issue or discussion. Also, PRs are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyinaturalist_convert-0.6.2.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

pyinaturalist_convert-0.6.2-py3-none-any.whl (47.2 kB view details)

Uploaded Python 3

File details

Details for the file pyinaturalist_convert-0.6.2.tar.gz.

File metadata

  • Download URL: pyinaturalist_convert-0.6.2.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.6 Linux/6.2.0-1015-azure

File hashes

Hashes for pyinaturalist_convert-0.6.2.tar.gz
Algorithm Hash digest
SHA256 73fc6dbec127c808b43d90af61bb82485ab4eb67c414cffaf5ac54b5a39c1b50
MD5 4c9d6ff1a3eaaf372a992ae0f3fb542c
BLAKE2b-256 1048cbc025fa919decdea25dcba8810a6f2c65b259371549e6d1e62ff03f439a

See more details on using hashes here.

File details

Details for the file pyinaturalist_convert-0.6.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pyinaturalist_convert-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fb78203ff4fc301c6c95801897f91e9ba2f0a9e9ffb5ce155d2cb0a6027de86e
MD5 32782de814265f49f4352aa0b19bbe3c
BLAKE2b-256 4c430c61e7e1353e6baf35a47ef98ad8da49368ad0af0e5941d783267a252f71

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page