Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.71 KB

File metadata and controls

46 lines (32 loc) · 1.71 KB

Overview

hapiserver is a Python HAPI server that uses FastAPI (servers in other languages exist - see also the Java and NodeJS generic HAPI servers).

To create a HAPI server, a data provider must create four files

  1. config.json
  2. catalog.py with a function that returns /catalog metadata
  3. info.py with a function that returns /info metadata
  4. data.py with a function that returns the /data response

For a new project, we recommend cloning and modifying the demo repository.

Other examples:

Install and Run Demo

git clone https://github.com/hapi-server/server-python-demo
cd server-python-demo
python -m pip install -e .
hapiserver -h
hapiserver --config hapiserver_demo/config.json

Notes

The last commit of the previous and deprecated version of this repository is given commit 834790 and as release 0.0.1.

Testing

From the server-python repository root, install the package and development dependencies, then run the tests directly with pytest:

python -m pip install -e '.[dev]'
python -m pytest -s -v

# Run the Python version test matrix in isolated environments with tox:
python -m tox --stderr-color RESET

--stderr-color RESET prevents tox from coloring normal server log output red. Test failures still produce a nonzero exit status and pytest failure report.