Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhpoapi-2.0.0.tar.gz (44.6 kB view details)

Uploaded Source

Built Distribution

pyhpoapi-2.0.0-py3-none-any.whl (44.5 kB view details)

Uploaded Python 3

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

Hashes for pyhpoapi-2.0.0.tar.gz
Algorithm Hash digest
SHA256 edd7ebac21a233008f28fd4a73e31e0b8c950fd18e3a365d1e516ab2867bd2b9
MD5 9d7e276e69c98bd3d6fad925f915bbf5
BLAKE2b-256 78f6e91d1311af377afb952089a19ef6cc5733707f41c5275bc67473970c38ac

See more details on using hashes here.

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

Hashes for pyhpoapi-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 084b57ea12056f30846c1d061e9cdce16aca0bfd1b0ef7be69c75b908014cf4e
MD5 de54e4c5764102012d50acff33724fc0
BLAKE2b-256 a5dd1a5b5ff212bcf746a1c2e3297549c6e63cda4a98d801aaf61fd5c6d8103f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page