Skip to main content

Agent-friendly CLI for cached OrthoDB downloads and live API queries.

Project description

orthodb

Agent-friendly CLI for OrthoDB v12.

Repo:

https://github.com/gumadeiras/orthodb-cli

Goals:

  • cache official OrthoDB flat files locally with checksums
  • answer common lookups from cached data when available
  • fall back to the live OrthoDB URL API when local data is missing or too large
  • emit machine-readable JSON by default for API responses and cache metadata
  • stay easy to package for Homebrew

Install

Homebrew:

brew tap gumadeiras/tap
brew install orthodb

PyPI with pipx:

pipx install orthodb

PyPI with plain pip:

python3 -m pip install orthodb

From source:

python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e .

Examples

orthodb version
orthodb search p450 --level 33208 --singlecopy 0.8 --take 2
orthodb group 4977at9604
orthodb orthologs 4977at9604 --species 9606_0,10090_0
orthodb fasta 4977at9604 --species 9606_0 --output group.fa
orthodb cache manifest
orthodb cache download species
orthodb cache plan orthologs
orthodb cache index species
orthodb cache sync minimal --index
orthodb resolve 4977at9604
orthodb local species "Homo sapiens"
orthodb local og "olfactory"
orthodb export ogs --query "olfactory receptor" --limit 10

/blast, /fasta, and /tab calls are rate-limited to one request per second, matching OrthoDB's published API guidance.

Cache

Default cache root:

$XDG_CACHE_HOME/orthodb-cli

or:

~/.cache/orthodb-cli

Override with:

orthodb --cache-dir /path/to/cache cache status

The flat-file manifest is read from:

https://data.orthodb.org/current/download/odb_data_dump

Large data files are intentionally not auto-downloaded. Use orthodb cache manifest first, then download a named dataset.

Curated sync profiles:

  • minimal: species, levels, level-to-species
  • annotations: minimal metadata plus OG annotations
  • orthologs: OG tables, skipping multi-GB files unless --include-large

Build a local SQLite index from downloaded files:

orthodb cache index all
orthodb cache db

Indexed local queries:

orthodb local species "Homo sapiens"
orthodb local og "Cytochrome P450"
orthodb local gene P12345
orthodb local orthologs 4977at9604
orthodb export species --query "Homo sapiens" --limit 2

export emits newline-delimited JSON from the local SQLite index, capped by --limit.

Resolve IDs before choosing a query path:

orthodb resolve 4977at9604
orthodb resolve 9606_0:0017fc
orthodb resolve P12345

Release

Current release: v0.1.1.

Tag pushes like vX.Y.Z run the release workflow: build artifacts, create a GitHub release, publish to PyPI, and update gumadeiras/homebrew-tap.

Release prerequisites:

  • PyPI trusted publishing configured for this repo.
  • HOMEBREW_TAP_TOKEN repository secret can write to gumadeiras/homebrew-tap.

Release artifacts are attached to GitHub releases for Homebrew packaging:

https://github.com/gumadeiras/orthodb-cli/releases

Source Notes

Primary references:

The official Python package is useful reference material, but this CLI uses direct HTTP calls and local flat files for a smaller runtime surface and simpler Homebrew packaging.

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

orthodb-0.1.3.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orthodb-0.1.3-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file orthodb-0.1.3.tar.gz.

File metadata

  • Download URL: orthodb-0.1.3.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orthodb-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d352334e9ec40e61506ccb557b4ba1c7c8cfc34519d7b3152f0b1a009d06a77b
MD5 fffbb9ca6dbf6891fc49f744c35aa268
BLAKE2b-256 f440dbbf7202ead9e5b4ff8dc84c13558260564e30ac5d82561ec0e8bb32820a

See more details on using hashes here.

Provenance

The following attestation bundles were made for orthodb-0.1.3.tar.gz:

Publisher: release.yml on gumadeiras/orthodb-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file orthodb-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: orthodb-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for orthodb-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 54cb218e2c73eae24386afc14b621ad945d115f541e1f292891c8e6dff555cd9
MD5 aeaf09a6216172a4d370c2c637a5675c
BLAKE2b-256 a9871a628a94bd12fa0480ea34726cf347d191d1a170b7b6d678b80584ae7a1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for orthodb-0.1.3-py3-none-any.whl:

Publisher: release.yml on gumadeiras/orthodb-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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