Releases: Liozhang/omim-cli
Releases · Liozhang/omim-cli
Release list
v2.1.4
Download
- PyPI: https://pypi.org/project/omim-cli/2.1.4/
- pip install omim-cli==2.1.4
Changes
- Add 429 rate-limit retry (10s backoff, one retry) for both remote check and download
- Use HEAD + Last-Modified for fast-path change detection
- check_updates() returns (need, failed) so users can distinguish confirmed updates from check failures
- Print full download URL on HTTP errors for manual download
- Unify request rhythm: 1s sleep before every request
v2.1.3
What's Changed
Bug fixes
- Fixed
omim-cli queryreturning empty output due to SQLAlchemyexpire_on_commit=Trueclearing column values after session close - Added
isinstance(v, str)guard beforejson.loads(v)to prevent TypeError on NULL JSON fields
Upgrade
pip install -U omim-cliOMIM-cli v2.1.2
What's Changed
Bug fixes
- Fixed
omim-cli faqcrash (NameError) - Fixed
omim-cli statscrash on empty database version.jsonmissing/corrupt now raises an error instead of silently falling back to0.0.0
Improvements
omim-cli query: fixed file handle leak, removed duplicate DB queries, JSON output now preserves empty strings and
0valuesomim-cli update: fixedexternal_linksmarker so entries without external links are not permanently skipped;
removed redundant commits during API enrichment- Inheritance abbreviations now use short codes (
PD,PR,SMu,SMo,Mu,IC,DD,DR) - API responses that are not JSON (e.g. CAPTCHA pages) now show a clear error with a link to open in browser
- Database migration runs only once per session and validates identifiers against a whitelist
Docs
- Rewrote the outdated web-scraper section in
docs/OMIM_API.md
omim-cli v2.1.1
omim-cli v2.1.1
Fixed
- Stop cleanly when the OMIM API quota is exhausted (429). Previously, a
persistent 429 (daily quota used up) was caught as a generic error and the
bulk update kept retrying every remaining batch — hammering the API and
wasting a 10s backoff on each. Now a 429 that persists past the single retry
raises a dedicatedQuotaExhaustedexception, andomim-cli update --with-api
/--refreshabort the whole run gracefully:- already-fetched entries are committed (per-batch), so re-running later
resumes from where it stopped (enriched entries are skipped) - a clear
stopped early … re-run later to resumemessage is printed
- already-fetched entries are committed (per-batch), so re-running later
- Non-429 errors still skip the batch, but 5 consecutive failures also abort
to avoid endless looping on persistent errors.
Install
pip install -U omim-cli # → 2.1.1Full changelog: v2.1.0...v2.1.1
omim-cli v2.1.0
omim-cli v2.1.0
A client for OMIM (Online Mendelian Inheritance in Man) that obtains data
exclusively through official, legal channels — the OMIM REST API and the
official text-file downloads. No HTML scraping, no bundled/redistributed data.
Highlights
- Official data sources.
mim2gene.txt/mimTitles.txt/genemap2.txt/
morbidmap.txtprovide structured data; the API provides text sections,
clinical synopsis (with HPO/SNOMED/ICD ontology IDs), allelic variants,
references, and 30+ external cross-references. - Store everything. All source-provided fields are persisted (status,
external_links, full gene record, dates, contributors, edit history, etc.). - Incremental by design.
- text import is skipped when files are unchanged
--with-apionly enriches entries not yet enriched--refreshprobesdateUpdatedin batches of 20 (include=dates) and
re-fetches only entries OMIM has updated
- Commands:
download,update,query,stats,faq,api
(entry/search/gene-map/clinical-synopsis/allelic-variants/
references/batch/config/status). - Configurable DB path via
OMIM_DBenv var or--dbfile.
Install
pip install -U omim-cli # Python ≥ 3.8
omim-cli api config --set-key YOUR_KEY # free key from https://omim.org/downloads
omim-cli download
omim-cli update # add --with-api for deep content
omim-cli statsData & license
- Code: MIT (see
LICENSE). Copyright © suqingdong (originalomim) and Liozhang (omim-clifork). - OMIM data is copyrighted by Johns Hopkins University and is not
redistributed by this package — each user downloads their own copy. Use of
OMIM data is governed by the OMIM User Agreement.