HTTP-APIs / hydrus

REST server - Flask Hydra-powered for Semantic Web
https://pypi.org/project/hydrus/
MIT License
195 stars 130 forks source link
flask python rest rest-api restful-api

hydrus Build Status

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.

Start-up the demo

You should be displaying the example API as served by the server.

Add your own Hydra documentation file

To serve your own Hydra-RDF documentation file:

You should be displaying your API as served by the server.

Table of contents

Features

hydrus supports the following features:

Requirements

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

Demo

To run a demo for hydrus using the sample API, just do the following:

  1. Clone hydrus:

    git clone https://github.com/HTTP-APIs/hydrus
    cd hydrus
  2. Install a Python virtual environment using:

    python3.8 -m venv .venv

    or:

    virtualenv -p python3.8 .venv
  3. 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/.

Usage

For more info, head to the Usage section of the wiki.

Development

  1. Install git hook: pre-commit install
  2. Every time code is committed, automated checks are run using mypy and pylint