Installation

Requirements

EHItk requires Python 3.10 or newer.

Install from PyPI

pip install ehitk

Bioconda recipe and BioContainers

A Bioconda recipe is maintained in packaging/bioconda for submission to the bioconda channel. After the Bioconda pull request is merged, EHItk can be installed from conda-compatible workflow environments with:

mamba install -c conda-forge -c bioconda ehitk

The corresponding BioContainers image is expected to be generated automatically from the accepted Bioconda package and listed under quay.io/biocontainers/ehitk.

Install the latest development version

Use the GitHub version only when you need changes that have not yet been released to PyPI.

pip install git+https://github.com/earthhologenome/ehitk

Check the installation

ehitk --version
ehitk --help

Database selection

By default, EHItk uses the bundled SQLite catalog that ships with the installed package version. Package updates therefore update the default catalog.

Use ehitk database to inspect the catalog currently in use, including its path, source, size, SHA256 checksum, and its data_version / schema_version (shown as unknown for older catalogs built before this metadata existed).

Database updates are paired with documented EHI data releases. Each release produces a standalone ehitk-database-<data_version>.sqlite artifact (a calendar YYYY.MM.DD version) and checksum file, deposited on Zenodo and attached to a GitHub Release, while the same SQLite file remains bundled inside the matching Python package for convenience. Older database files can be used to rerun analyses against the same catalog version. See the database catalog page for the published versions and the full versioning policy.

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

EHItk package versions follow Semantic Versioning for the software interface. Database updates that change the SQLite schema in a way that breaks the command-line or Python API output contract bump the catalog’s schema_version and require a coordinated (major) EHItk release; EHItk validates schema_version when it opens a catalog and reports a clear error on mismatch. Non-breaking database additions or metadata corrections bump the data_version only and are released as minor or patch versions, documented in the changelog and associated data release notes.

Use --db when you want to query a specific SQLite catalog:

ehitk --db /path/to/ehitk.sqlite --help
ehitk hologenomes query --db /path/to/ehitk.sqlite --limit 5