# BioThings SDK
[![Downloads](https://pepy.tech/badge/biothings)](https://pepy.tech/project/biothings)
[![biothings package](https://badge.fury.io/py/biothings.svg)](https://pypi.python.org/pypi/biothings)
[![biothings_version](https://img.shields.io/pypi/pyversions/biothings.svg)](https://pypi.python.org/pypi/biothings)
[![biothings_version](https://img.shields.io/pypi/format/biothings.svg)](https://pypi.python.org/pypi/biothings)
[![biothings_version](https://img.shields.io/pypi/status/biothings.svg)](https://pypi.python.org/pypi/biothings)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
[![Build Status](https://github.com/biothings/biothings.api/actions/workflows/test-build.yml/badge.svg)](https://github.com/biothings/biothings.api/actions/workflows/test-build.yml)
[![Tests Status](https://github.com/biothings/biothings.api/actions/workflows/run-tests.yml/badge.svg)](https://github.com/biothings/biothings.api/actions/workflows/run-tests.yml)
[![Documentation Status](https://readthedocs.org/projects/biothingsapi/badge/?version=latest)](https://docs.biothings.io/en/latest/?badge=latest)
## 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](https://www.python.org/) 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](https://www.elastic.co/products/elasticsearch) backend.
From here, the web component, built on the high-concurrency [Tornado Web
Server](http://www.tornadoweb.org/en/stable/) , 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](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/query-dsl-query-string-query.html#query-string-syntax).
### 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](http://mygene.info/) and
[MyVariant.Info](http://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.
## Installing BioThings SDK
You can install the latest stable BioThings SDK release with pip from
[PyPI](https://pypi.python.org/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](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](https://github.com/biothings/biothings.api) and run:
pip install .
# or
pip install .[web_extra]
## Get started to build a BioThings API
We recommend to follow [this tutorial](https://docs.biothings.io/en/latest/tutorial/studio.html) 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](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) document.
## Active and past contributors
Please see [Contributors](Contributors.md)
Raw data
{
"_id": null,
"home_page": "https://biothings.io",
"name": "biothings",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "biology annotation web service client api",
"author": "The BioThings Team",
"author_email": "cwu@scripps.edu",
"download_url": "https://files.pythonhosted.org/packages/a6/a5/51bd2fdd159c2149d558a54ae0fafc1ba9bccd3118ec58cfc5abac282757/biothings-0.12.4.tar.gz",
"platform": null,
"description": "# BioThings SDK\n\n[![Downloads](https://pepy.tech/badge/biothings)](https://pepy.tech/project/biothings)\n[![biothings package](https://badge.fury.io/py/biothings.svg)](https://pypi.python.org/pypi/biothings)\n[![biothings_version](https://img.shields.io/pypi/pyversions/biothings.svg)](https://pypi.python.org/pypi/biothings)\n[![biothings_version](https://img.shields.io/pypi/format/biothings.svg)](https://pypi.python.org/pypi/biothings)\n[![biothings_version](https://img.shields.io/pypi/status/biothings.svg)](https://pypi.python.org/pypi/biothings)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)\n[![Build Status](https://github.com/biothings/biothings.api/actions/workflows/test-build.yml/badge.svg)](https://github.com/biothings/biothings.api/actions/workflows/test-build.yml)\n[![Tests Status](https://github.com/biothings/biothings.api/actions/workflows/run-tests.yml/badge.svg)](https://github.com/biothings/biothings.api/actions/workflows/run-tests.yml)\n[![Documentation Status](https://readthedocs.org/projects/biothingsapi/badge/?version=latest)](https://docs.biothings.io/en/latest/?badge=latest)\n\n## Quick Summary\n\nBioThings 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.).\n\nDocumentation about BioThings SDK can be found at https://docs.biothings.io\n\n## Introduction\n\n### What's BioThings?\n\nWe use \"**BioThings**\" to refer to objects of any biomedical entity-type\nrepresented in the biological knowledge space, such as genes, genetic\nvariants, drugs, chemicals, diseases, etc.\n\n### BioThings SDK\n\nSDK represents \"Software Development Kit\". BioThings SDK provides a\n[Python-based](https://www.python.org/) toolkit to build\nhigh-performance data APIs (or web services) from a single data source\nor multiple data sources. It has the particular focus on building data\nAPIs for biomedical-related entities, a.k.a \"*BioThings*\", though it's\nnot necessarily limited to the biomedical scope. For any given\n\"*BioThings*\" type, BioThings SDK helps developers to aggregate\nannotations from multiple data sources, and expose them as a clean and\nhigh-performance web API.\n\nThe BioThings SDK can be roughly divided into two main components: data\nhub (or just \"hub\") component and web component. The hub component\nallows developers to automate the process of monitoring, parsing and\nuploading your data source to an\n[Elasticsearch](https://www.elastic.co/products/elasticsearch) backend.\nFrom here, the web component, built on the high-concurrency [Tornado Web\nServer](http://www.tornadoweb.org/en/stable/) , allows you to easily\nsetup a live high-performance API. The API endpoints expose\nsimple-to-use yet powerful query features using [Elasticsearch's\nfull-text query capabilities and query\nlanguage](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/query-dsl-query-string-query.html#query-string-syntax).\n\n### BioThings API\n\nWe also use \"*BioThings API*\" (or *BioThings APIs*) to refer to an API\n(or a collection of APIs) built with BioThings SDK. For example, both\nour popular [MyGene.Info](http://mygene.info/) and\n[MyVariant.Info](http://myvariant.info/) APIs are built and maintained\nusing this BioThings SDK.\n\n### BioThings Studio\n\n*BioThings Studio* is a buildin, pre-configured environment used to build and\nadminister a BioThings API. At its core is the *Hub*, a backend service responsible for maintaining data up-to-date, producing data releases and\nupdate API frontends.\n\n## Installing BioThings SDK\n\nYou can install the latest stable BioThings SDK release with pip from\n[PyPI](https://pypi.python.org/pypi), like:\n\n # default to install web requirements only for running an API\n pip install biothings\n # or include additional requirements useful for running an API on production\n # like msgpack, sentry-sdk pacakages\n pip install biothings[web_extra]\n\n # install hub requirements for running a hub (including CLI)\n pip install biothings[hub]\n\n # install CLI-only requirements if you only need CLI for develop a data plugin\n pip install biothings[cli]\n\n # need support for docker data plugin\n pip install biothings[hub,docker]\n # or if use ssh protocol to connect to a remote docker server\n pip install biothings[hub,docker_ssh]\n\n # just install everything for dev purpose\n pip install biothings[dev]\n\nYou can check more details for the optional dependecy packages directly in [setup.py](setup.py) file.\n\nYou can install the latest development version of BioThings SDK directly\nfrom our github repository like:\n\n pip install git+https://github.com/biothings/biothings.api.git#egg=biothings\n\n # from a branch or commit\n pip install git+https://github.com/biothings/biothings.api.git@0.12.x#egg=biothings\n\n # include optional dependecies\n pip install git+https://github.com/biothings/biothings.api.git@0.12.x#egg=biothings[web_extra]\n\n # can be very useful to install in \u201ceditable\u201d mode:\n pip install -e git+https://github.com/biothings/biothings.api.git@0.12.x#egg=biothings[web_extra]\n\nAlternatively, you can download the source code, or clone the [BioThings\nSDK repository](https://github.com/biothings/biothings.api) and run:\n\n pip install .\n # or\n pip install .[web_extra]\n\n## Get started to build a BioThings API\n\nWe recommend to follow [this tutorial](https://docs.biothings.io/en/latest/tutorial/studio.html) to develop your first BioThings API in our pre-configured **BioThings Studio** development environment.\n\n## Documentation\n\nThe latest documentation is available at https://docs.biothings.io.\n\n## How to contribute\n\nPlease check out this [Contribution Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) document.\n\n## Active and past contributors\n\nPlease see [Contributors](Contributors.md)\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "a toolkit for building high-performance data APIs in biology",
"version": "0.12.4",
"project_urls": {
"Changelog": "https://github.com/biothings/biothings.api/blob/master/CHANGES.txt",
"Documentation": "https://docs.biothings.io",
"Homepage": "https://biothings.io",
"Source": "https://github.com/biothings/biothings.api",
"Tracker": "https://github.com/biothings/biothings.api/issues",
"Twitter": "https://twitter.com/biothingsapi"
},
"split_keywords": [
"biology",
"annotation",
"web",
"service",
"client",
"api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f08e5170e4f38cadc96c5261462266673dcb1593c2caefae2d74dc6f65ce2ab6",
"md5": "1656d9dfd49aa851cc33ff6525e88e42",
"sha256": "ffb3187cb63223b8020b7a89bc8b264411b8f18499c6908b674c710807920d0c"
},
"downloads": -1,
"filename": "biothings-0.12.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1656d9dfd49aa851cc33ff6525e88e42",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 503389,
"upload_time": "2024-04-03T00:53:25",
"upload_time_iso_8601": "2024-04-03T00:53:25.275379Z",
"url": "https://files.pythonhosted.org/packages/f0/8e/5170e4f38cadc96c5261462266673dcb1593c2caefae2d74dc6f65ce2ab6/biothings-0.12.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a6a551bd2fdd159c2149d558a54ae0fafc1ba9bccd3118ec58cfc5abac282757",
"md5": "2410f5e6295dd7a1e543a1327343801b",
"sha256": "587516cd7529c123bea41e67584c72f9d65f62610ebbeca49d42103d85c08cc8"
},
"downloads": -1,
"filename": "biothings-0.12.4.tar.gz",
"has_sig": false,
"md5_digest": "2410f5e6295dd7a1e543a1327343801b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 446177,
"upload_time": "2024-04-03T00:53:29",
"upload_time_iso_8601": "2024-04-03T00:53:29.825740Z",
"url": "https://files.pythonhosted.org/packages/a6/a5/51bd2fdd159c2149d558a54ae0fafc1ba9bccd3118ec58cfc5abac282757/biothings-0.12.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-03 00:53:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "biothings",
"github_project": "biothings.api",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"lcname": "biothings"
}