Metadata-Version: 2.1
Name: biothings
Version: 0.8.0
Summary: a toolkit for building high-performance data APIs in biology
Home-page: https://github.com/biothings/biothings.api
Author: Cyrus Afrasiabi, Sebastien Lelong, Xinghua Zhou, Chunlei Wu
Author-email: cwu@scripps.edu
License: Apache License, Version 2.0
Keywords: biology annotation web service client api
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Description-Content-Type: text/markdown
Requires-Dist: requests (>=2.21.0)
Requires-Dist: tornado (==5.1.1)
Requires-Dist: gitpython (<8,>=3.1.0elasticsearch>=6)
Requires-Dist: elasticsearch-dsl (<8,>=6)
Requires-Dist: elasticsearch-async (>=6.2.0)
Provides-Extra: dev
Requires-Dist: msgpack (>=0.6.1) ; extra == 'dev'
Requires-Dist: PyYAML (>=5.1) ; extra == 'dev'
Requires-Dist: beautifulsoup4 ; extra == 'dev'
Requires-Dist: aiocron ; extra == 'dev'
Requires-Dist: asyncssh (==1.7.1) ; extra == 'dev'
Requires-Dist: pymongo ; extra == 'dev'
Requires-Dist: psutil ; extra == 'dev'
Requires-Dist: jsonpointer ; extra == 'dev'
Requires-Dist: IPython ; extra == 'dev'
Requires-Dist: boto ; extra == 'dev'
Requires-Dist: boto3 ; extra == 'dev'
Requires-Dist: multiprocessing-on-dill ; extra == 'dev'
Requires-Dist: dill ; extra == 'dev'
Requires-Dist: pyinotify ; extra == 'dev'
Requires-Dist: prettytable ; extra == 'dev'
Requires-Dist: sockjs-tornado (==1.0.6) ; extra == 'dev'
Requires-Dist: jsonschema (>=2.6.0) ; extra == 'dev'
Requires-Dist: pip ; extra == 'dev'
Requires-Dist: pandas (==1.0.1) ; extra == 'dev'
Requires-Dist: yapf ; extra == 'dev'
Requires-Dist: requests-aws4auth ; extra == 'dev'
Requires-Dist: networkx (>=2.1) ; extra == 'dev'
Requires-Dist: biothings-client (==0.2.1) ; extra == 'dev'
Requires-Dist: sphinx (>=2.4.3) ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme (>=0.4.3) ; extra == 'dev'
Requires-Dist: nose (>=1.3.7) ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Provides-Extra: hub
Requires-Dist: beautifulsoup4 ; extra == 'hub'
Requires-Dist: aiocron ; extra == 'hub'
Requires-Dist: asyncssh (==1.7.1) ; extra == 'hub'
Requires-Dist: pymongo ; extra == 'hub'
Requires-Dist: psutil ; extra == 'hub'
Requires-Dist: jsonpointer ; extra == 'hub'
Requires-Dist: IPython ; extra == 'hub'
Requires-Dist: boto ; extra == 'hub'
Requires-Dist: boto3 ; extra == 'hub'
Requires-Dist: multiprocessing-on-dill ; extra == 'hub'
Requires-Dist: dill ; extra == 'hub'
Requires-Dist: pyinotify ; extra == 'hub'
Requires-Dist: prettytable ; extra == 'hub'
Requires-Dist: sockjs-tornado (==1.0.6) ; extra == 'hub'
Requires-Dist: jsonschema (>=2.6.0) ; extra == 'hub'
Requires-Dist: pip ; extra == 'hub'
Requires-Dist: pandas (==1.0.1) ; extra == 'hub'
Requires-Dist: yapf ; extra == 'hub'
Requires-Dist: requests-aws4auth ; extra == 'hub'
Requires-Dist: networkx (>=2.1) ; extra == 'hub'
Requires-Dist: biothings-client (==0.2.1) ; extra == 'hub'
Requires-Dist: nose (>=1.3.7) ; extra == 'hub'
Requires-Dist: pytest ; extra == 'hub'
Provides-Extra: web_extra
Requires-Dist: msgpack (>=0.6.1) ; extra == 'web_extra'
Requires-Dist: PyYAML (>=5.1) ; extra == 'web_extra'

[![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://travis-ci.org/biothings/biothings.api.svg?branch=master)](https://travis-ci.org/biothings/biothings.api)
[![Documentation Status](https://readthedocs.org/projects/biothingsapi/badge/?version=latest)](https://docs.biothings.io/en/latest/?badge=latest)

# BioThings SDK

## 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:

    pip install biothings

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

Alternatively, you can download the source code, or clone the [BioThings
SDK repository](https://github.com/biothings/biothings.api) and run:

    python setup.py install

## Get started to build a BioThings API

We recommend to follow [this tutorial](https://docs.biothings.io/en/latest/doc/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.

