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:
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.