Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
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
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.
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 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.
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]
We recommend to follow this tutorial to develop your first BioThings API in our pre-configured BioThings Studio development environment.
The latest documentation is available at https://docs.biothings.io.
Please check out this Contribution Guidelines and Code of Conduct document.
Please see Contributors
FAQs
a toolkit for building high-performance data APIs in biology
We found that biothings demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.