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.
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.
Installing BioThings SDK¶
You can install the BioThings SDK with pip, like:
pip install git+https://github.com/biothings/biothings.api.git#egg=biothings
Alternatively, you can download the source code, or clone the BioThings SDK repository and run:
python setup.py install
- Single Data Source, No Source Updating Tutorial
- Multiple Data Sources, Automated Source Updating Tutorial
- Hub component
- Web component