Skip to main content

EHItk logo

CI Python Database DOI

EHItk

The Earth Hologenome Initiative ToolKit (EHItk) is a Python package and command-line tool for finding, summarizing, exporting, and downloading EHI specimens, hologenomes, and metagenome-assembled genomes.

Installation

pip install ehitk

Example

ehitk specimens query --host-species "Podarcis muralis" --limit 5
ehitk hologenomes query --biome ENVO:01000175 --limit 5
ehitk hologenomes fields
ehitk hologenomes values --field country --limit 10
ehitk mags stats --quality high --species "Escherichia coli"
ehitk mags query --quality high --csv | head
ehitk specimens values --field sex --csv --output-file specimen-sex-values.csv

Python API:

import ehitk

with ehitk.Database() as ehidb:
    mags = ehidb.mags.query(quality="high", host_taxid=40674, limit=5)

for mag in mags:
    print(
        mag.mag_id,
        mag.quality,
        mag.host_taxid,
        mag.host_species,
        mag.mag_family,
        mag.mag_genus,
    )

Documentation

Full installation instructions, command reference, examples, output formats, identifier namespaces, download guidance, and Python API examples are available at:

https://ehitk.readthedocs.io/

Use the built-in help for local command details:

ehitk --help
ehitk specimens --help
ehitk hologenomes fetch --help
ehitk mags query --help

Bundled database and versioning

EHItk ships with a bundled SQLite EHI database, which is the default database used by the command-line interface and Python API. Updating the Python package may therefore also update the default EHI database.

Use ehitk database to inspect the catalog currently in use, including its path, source, size, SHA256 checksum, and its data_version / schema_version (unknown for older catalogs built before this metadata existed). EHItk validates schema_version when it opens a catalog and reports a clear error if the catalog is too new or too old for the installed package.

Database updates are paired with documented EHI data releases. Each release produces a standalone ehitk-database-<data_version>.sqlite artifact and checksum file for GitHub Releases and Zenodo, while the same SQLite file remains bundled inside the matching Python package for convenience. The citable Zenodo database record is available at https://doi.org/10.5281/zenodo.20430293. Older database files can be used to rerun analyses against the same database version by passing the file with --db or by opening it with ehitk.Database("/path/to/ehitk.sqlite").

Published database versions (generated from Zenodo by scripts/update_db_list.py):

No published database versions found.

The public package does not rebuild the curated EHI metadata catalog from upstream sources; that is done by the separate ehitk-build generator, which publishes each catalog to Zenodo. Fresh catalogs are obtained by upgrading EHItk or by downloading a versioned database artifact.

EHItk package versions follow Semantic Versioning for the software interface. Database updates that break the SQLite schema contract bump the catalog's schema_version and require a coordinated (major) EHItk release; non-breaking database additions or metadata corrections bump the data_version only and are released as minor or patch versions. All are documented in the changelog and associated data release notes.

Testing and continuous integration

EHItk includes a pytest-based unit test suite in the tests/ directory. The repository also uses GitHub Actions continuous integration to run the test suite, build source and wheel distributions, and perform CLI smoke tests across Python 3.10, 3.11, 3.12, 3.13, and 3.14.

Metadata

Release files for ehitk 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ehitk 1.2.1
File Size Uploaded Provenance Actions
ehitk-1.2.1.tar.gz 1.2 MB With provenance Details for ehitk-1.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ehitk 1.2.1
File Interpreter ABI Platform Actions
ehitk-1.2.1-py3-none-any.whl Python 3 none any Details for ehitk-1.2.1-py3-none-any.whl

Total release size: 2.5 MB

Release files / ehitk-1.2.1.tar.gz

Download URL ehitk-1.2.1.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
9e5c49d2d0042ed5077db27df7285e7be5f67b5e20b89ac0911103c3b00cf37a
BLAKE2b-256 checksum
How to use checksums
f6b2f73ff909968246c1e9313a3ad9379b8ef0573fc565502543030bba459e5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.

Transparency log

Release files / ehitk-1.2.1-py3-none-any.whl

Download URL ehitk-1.2.1-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
cb8bdbc93f1ad173880d7f5743c5eb549ada2c3df2c35c627386ec60e4410ba6
BLAKE2b-256 checksum
How to use checksums
da33edc55bff72b5025c02d6d7fae41c4d4008c3478d709cbec6c8fc0d449f43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.

Transparency log

Security for ehitk 1.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ehitk-1.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page