hydrus is a set of Python based tools for easier and efficient creation of Hypermedia driven REST-APIs. hydrus utilises the power of Linked Data to create a powerful REST APIs to serve data. hydrus uses the Hydra(W3C) standard for creation and documentation of it's APIs.
docker-compose up --build
http://localhost:8080/api/vocab
You should be displaying the example API as served by the server.
To serve your own Hydra-RDF documentation file:
doc.py
file as the ones in examples/
directory containing your own ApiDocAPIDOC_REL_PATH
variable in docker-compose.yml
. This should the relative path from the project rootYou should be displaying your API as served by the server.
hydrus supports the following features:
The system is built over the following standards and tools:
Apart from this, there are also various Python packages that hydrus uses. Using python setup.py install
installs all the required dependencies.
NOTE: You'll need to use python3
not python2
. Hydrus does not support python < 3.6
To run a demo for hydrus using the sample API, just do the following:
Clone hydrus:
git clone https://github.com/HTTP-APIs/hydrus
cd hydrus
Install a Python virtual environment using:
python3.8 -m venv .venv
or:
virtualenv -p python3.8 .venv
Install hydrus using:
source .venv/bin/activate
pip install -r requirements.txt
python setup.py install
NOTE: there is an alternative way to install dependencies with poetry
:
pip3 install poetry
poetry install
This is mostly used to check dependencies conflicts among packages and to release to PyPi
.
After installation is successful, to run the server:
hydrus serve
The demo should be up and running on http://localhost:8080/serverapi/
.
For more info, head to the Usage section of the wiki.
pre-commit install
mypy
and pylint