Package: biothings
BioThings SDKQuick SummaryBioThings 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 athttps://docs.biothings.ioIntroductionWhat'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 SDKSDK represents "Software Development Kit". BioThings SDK provides aPython-basedtoolkit 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 anElasticsearchbackend.
From here, the web component, built on the high-concurrencyTornado Web
Server, allows you to easily
setup a live high-performance API. The API endpoints expose
simple-to-use yet powerful query features usingElasticsearch's
full-text query capabilities and query
language.BioThings APIWe also use "BioThings API" (orBioThings APIs) to refer to an API
(or a collection of APIs) built with BioThings SDK. For example, both
our popularMyGene.InfoandMyVariant.InfoAPIs are built and maintained
using this BioThings SDK.BioThings StudioBioThings Studiois a buildin, pre-configured environment used to build and
administer a BioThings API. At its core is theHub, a backend service responsible for maintaining data up-to-date, producing data releases and
update API frontends.Installing BioThings SDKYou can install the latest stable BioThings SDK release with pip fromPyPI, 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 insetup.pyfile.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 theBioThings
SDK repositoryand run:pip install .
# or
pip install .[web_extra]Get started to build a BioThings APIWe recommend to followthis tutorialto develop your first BioThings API in our pre-configuredBioThings Studiodevelopment environment.DocumentationThe latest documentation is available athttps://docs.biothings.io.How to contributePlease check out thisContribution GuidelinesandCode of Conductdocument.Active and past contributorsPlease seeContributors