A REST API for the HPO ontology using PyHPO
Project description
A HTTP REST-API wrapper for PyHPO
Main features
This package allows an easy setup of a REST API to interact with HPO Terms using the PyHPO package.
API Documentation
To see an interactive API documentation, install PyHPO-API, run the app and visit http://127.0.0.1:8000/docs
Installation / Setup
The easiest way to install PyHPO-API is via pip
pip install pyhpoapi
Usage
Getting started
The easiest way to get started is to run the API via
uvicorn pyhpoapi.main:app
Parallel processing
If you want better performance for parallel request handling, you can run PyHPO-API with multiple workers
uvicorn pyhpoapi.main:app --workers 15
CORS
If you need to allow cross-origin requests, you specify CORS settings through environment variables:
export PYHPOAPI_CORS_ORIGINS="*" export PYHPOAPI_CORS_METHODS="GET,POST" export PYHPOAPI_CORS_HEADERS="*"
Dev
Getting started for development
Clone the repository
git clone https://github.com/anergictcell/pyhpoapi.git
cd pyhpoapi
Use Docker for development
One way to do this is to run a docker container during development
docker run --rm -v $(pwd):/src -p 8000:8000 -it python:3.9-slim-buster bash
cd src
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
python3 -m unittest discover tests
uvicorn --host 0.0.0.0 --reload pyhpoapi.main:app
Or local development without Docker
Create a virtual environment and install requirements in the virtual environment
virtualenv venv_pyhpoapi
source venv_pyhpoapi/bin/activate
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
python3 -m unittest discover tests
uvicorn --reload pyhpoapi.main:app
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyhpoapi-2.0.0.tar.gz
.
File metadata
- Download URL: pyhpoapi-2.0.0.tar.gz
- Upload date:
- Size: 44.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | edd7ebac21a233008f28fd4a73e31e0b8c950fd18e3a365d1e516ab2867bd2b9 |
|
MD5 | 9d7e276e69c98bd3d6fad925f915bbf5 |
|
BLAKE2b-256 | 78f6e91d1311af377afb952089a19ef6cc5733707f41c5275bc67473970c38ac |
File details
Details for the file pyhpoapi-2.0.0-py3-none-any.whl
.
File metadata
- Download URL: pyhpoapi-2.0.0-py3-none-any.whl
- Upload date:
- Size: 44.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 084b57ea12056f30846c1d061e9cdce16aca0bfd1b0ef7be69c75b908014cf4e |
|
MD5 | de54e4c5764102012d50acff33724fc0 |
|
BLAKE2b-256 | a5dd1a5b5ff212bcf746a1c2e3297549c6e63cda4a98d801aaf61fd5c6d8103f |