Skip to main content

BioThings SDK

Downloads biothings package biothings_version biothings_version biothings_version Contributor Covenant Build Status Tests Status Documentation Status

Quick Summary

BioThings SDK provides a Python-based toolkit to build high-performance data APIs (or web services) from a single data source or multiple data sources. It has the particular focus on building data APIs for biomedical-related entities, a.k.a "BioThings" (such as genes, genetic variants, drugs, chemicals, diseases, etc.).

Documentation about BioThings SDK can be found at https://docs.biothings.io

Introduction

What's BioThings?

We use "BioThings" to refer to objects of any biomedical entity-type represented in the biological knowledge space, such as genes, genetic variants, drugs, chemicals, diseases, etc.

BioThings SDK

SDK represents "Software Development Kit". BioThings SDK provides a Python-based toolkit to build high-performance data APIs (or web services) from a single data source or multiple data sources. It has the particular focus on building data APIs for biomedical-related entities, a.k.a "BioThings", though it's not necessarily limited to the biomedical scope. For any given "BioThings" type, BioThings SDK helps developers to aggregate annotations from multiple data sources, and expose them as a clean and high-performance web API.

The BioThings SDK can be roughly divided into two main components: data hub (or just "hub") component and web component. The hub component allows developers to automate the process of monitoring, parsing and uploading your data source to an Elasticsearch backend. From here, the web component, built on the high-concurrency Tornado Web Server , allows you to easily setup a live high-performance API. The API endpoints expose simple-to-use yet powerful query features using Elasticsearch's full-text query capabilities and query language.

BioThings API

We also use "BioThings API" (or BioThings APIs) to refer to an API (or a collection of APIs) built with BioThings SDK. For example, both our popular MyGene.Info and MyVariant.Info APIs are built and maintained using this BioThings SDK.

BioThings Studio

BioThings Studio is a buildin, pre-configured environment used to build and administer a BioThings API. At its core is the Hub, a backend service responsible for maintaining data up-to-date, producing data releases and update API frontends.

Deployment: Hub and Studio are administrative services: keep them and their databases off the public internet, and restrict who can reach them. See the deployment and access-control guide, which also covers requiring a login to run commands.

Installing BioThings SDK

You can install the latest stable BioThings SDK release with pip from PyPI, like:

# default to install web requirements only for running an API
pip install biothings
# or include additional requirements useful for running an API on production
# like msgpack, sentry-sdk pacakages
pip install biothings[web_extra]

# install hub requirements for running a hub (including CLI)
pip install biothings[hub]

# install CLI-only requirements if you only need CLI for develop a data plugin
pip install biothings[cli]

# need support for docker data plugin
pip install biothings[hub,docker]
# or if use ssh protocol to connect to a remote docker server
pip install biothings[hub,docker_ssh]

# just install everything for dev purpose
pip install biothings[dev]

You can check more details for the optional dependecy packages directly in setup.py file.

You can install the latest development version of BioThings SDK directly from our github repository like:

pip install git+https://github.com/biothings/biothings.api.git#egg=biothings

# from a branch or commit
pip install git+https://github.com/biothings/biothings.api.git@0.12.x#egg=biothings

# include optional dependecies
pip install git+https://github.com/biothings/biothings.api.git@0.12.x#egg=biothings[web_extra]

# can be very useful to install in “editable” mode:
pip install -e git+https://github.com/biothings/biothings.api.git@0.12.x#egg=biothings[web_extra]

Alternatively, you can download the source code, or clone the BioThings SDK repository and run:

pip install .
# or
pip install .[web_extra]

Get started to build a BioThings API

We recommend to follow this tutorial to develop your first BioThings API in our pre-configured BioThings Studio development environment.

Documentation

The latest documentation is available at https://docs.biothings.io.

How to contribute

Please check out this Contribution Guidelines and Code of Conduct document.

Active and past contributors

Please see Contributors

Metadata

Release files for biothings 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biothings 1.2.2
File Size Uploaded Provenance
biothings-1.2.2.tar.gz 514.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for biothings 1.2.2
File Interpreter ABI Platform
biothings-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / biothings-1.2.2.tar.gz

Download URL biothings-1.2.2.tar.gz
Size 514.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0b6f2068e756cac0248aab0f7c6a2e11ad7e4ff291638e9d7a1e35a275197063
BLAKE2b-256 checksum
How to use checksums
016ebfbc7d600c46e9647608c317dcb15bc1d7e0b1c37e9728e19ff49fdafdd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / biothings-1.2.2-py3-none-any.whl

Download URL biothings-1.2.2-py3-none-any.whl
Size 578.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b06cb69f3f34f9f71909fc4007b592d09b6b0523420591767653061267a9ac87
BLAKE2b-256 checksum
How to use checksums
bf824e16715c1d4355636b0e4f1e1e64128ea139860c26d253118f2ec6259362
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for biothings 1.2.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

Release history Release notifications | RSS feed

This release

1.2.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page