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
config.jsoncatalog.pywith a function that returns/catalogmetadatainfo.pywith a function that returns/infometadatadata.pywith a function that returns the/dataresponse
For a new project, we recommend cloning and modifying the demo repository.
Other examples:
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.jsonThe last commit of the previous and deprecated version of this repository is given commit 834790 and as release 0.0.1.
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.