skillfed

biothings-client

Python Client for BioThings API services.

biothings-client v0.5.1 1.5M downloads/30d#3,834 on PyPI20
Permissive license BSD-3-Clause Active released

What it is and what it does

biothings_client is a Python wrapper that simplifies access to BioThings API services—a collection of web APIs providing structured biological and chemical data. It offers both synchronous and asynchronous clients for querying genes, genetic variants, chemicals/drugs, diseases, genesets, and taxa. The package abstracts away HTTP details, allowing developers to call methods like getgene(), getvariant(), or getchem() directly and receive structured JSON responses with annotations from multiple sources (RefSeq, PubChem, ClinVar, etc.).

The package has minimal dependencies (httpx for HTTP, importlib-metadata and typing-extensions for compatibility) and supports Python 3.7 and above. Optional extras enable DataFrame output for pandas users and local query caching via SQLite (Python 3.8+ only). It is actively maintained and widely used in bioinformatics workflows.

Use it for:

  • Query gene annotations by ID or symbol to retrieve RefSeq IDs, protein sequences, and genomic coordinates.
  • Look up genetic variants by position to access clinical significance, population frequencies, and structural predictions.
  • Retrieve chemical/drug properties by InChI key or PubChem ID for compound analysis and property lookup.
  • Batch query taxa by taxon ID to explore lineage, common names, and taxonomic rank information.
  • Build async pipelines to fetch disease or geneset annotations without blocking on network I/O.
  • Cache query results locally to reduce API calls and speed up repeated lookups in research workflows.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

biothings_client provides Python wrappers to query gene, variant, chemical, disease, geneset, and taxon data from BioThings API services via synchronous or asynchronous clients.

Yes. biothings_client is a stable, actively maintained wrapper for widely-used bioinformatics APIs with low install friction, permissive licensing, no known vulnerabilities, and support for modern Python versions. Install it if you need programmatic access to gene, variant, chemical, disease, or taxon data; skip it only if you prefer direct HTTP calls or need a different data source.

Install

biothings-client on PyPI

pip

pip install biothings-client

uv

uv add biothings-client

poetry

poetry add biothings-client

Installing biothings-client

Before you install

Low install friction with only three runtime dependencies (httpx, importlib-metadata, typing-extensions). Actively maintained with a recent release 22 days ago. Supports Python 3.7 and above, though caching features require Python 3.8+.

License in practice

Licensed under BSD-3-Clause (permissive), allowing commercial and private use with minimal restrictions beyond retaining the license notice.

Quickstart

pip install biothings_client

from biothings_client import get_client

mv = get_client("variant")
result = mv.getvariant("chr7:g.140453134T>C")

Requires Python 3.7 or higher; caching support requires Python 3.8+. Optional dataframe support requires pandas; optional caching requires hishel and anysqlite.

Verify before relying

  • Whether the package's 20 GitHub stars reflects sufficient community adoption for production bioinformatics workflows.
  • Performance characteristics and rate limits when querying large datasets or running concurrent async requests.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 3 — httpx, importlib-metadata, typing-extensions
Maintenance actively maintained — 22 days since the last release
Last repo commit
First released
Downloads 1,497,051/month — #3,834 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: biothings_client-0.5.1-py3-none-any.whl

Keywords: biology, variant, gene, taxon, taxonomy, species, drug, chemical, disease, phenotype, geneset, annotation, web, service, client, api, mygene.info, myvariant.info, mychem.info, mydisease.info, mygeneset.info, mytaxon.info

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: OS IndependentOperating System :: POSIXProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering :: Bio-InformaticsTopic :: Utilities

Tags

biothings api clientgene variant query pythonmygene myvariant mychembiological data annotationasync bioinformatics apidrug chemical lookupdisease phenotype search
bioinformaticsapi-clientasync-support

More Utilities packages