Skip to content
REST server - Flask Hydra-powered for Semantic Web
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
docs
examples
hydrus
tests
.gitignore
.travis.yml
Dockerfile
LICENSE
README.md
cli.py
docker-compose.yml
requirements.txt
setup.py

README.md

hydrus Build Status

hydrus is a set of Python-based tools for easier and more efficient creation of Hypermedia driven REST-APIs. hydrus utilises the power of Linked Data to create powerful REST APIs to serve data. hydrus uses the Hydra(W3C) standard for creation and documentation of its APIs.

Start-up the demo

Automatic with Docker:

  • with Docker and docker-compose installed, run docker-compose up --build
  • open the browser at http://localhost:8000/api/vocab

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

Manually:

You can install the library in your project from latest Github release with pip install git+git://github.com/http-apis/hydrus.git#egg=hydrus; or from PyPi with: pip install hydrus.

Add your own Hydra documentation file

To serve your own Hydra-RDF documentation file:

  • create a doc.py file as the ones in examples/ directory containing your own ApiDoc
  • set the APIDOC_REL_PATH variable in docker-compose.yml. This should the relative path from the project root
  • start-up the demo as above.

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

Table of Contents

Features

hydrus supports the following features:

  • Be a REST server that understands Hydra vocabulary and performs basic CRUD operations on data in a Hydra supporting server.
  • Be a generic server that provides the required data and metadata (in the form of API documentation) to a client over HTTP.

Requirements

The system is built over the following standards and tools:

  • Flask, a Python-based micro-framework for handling server requests and responses.
  • JSON-LD as the preferred data format.
  • Hydra as the API standard.
  • SQLAlchemy as the backend database connector for storage and related operations.

Other than this, there are also various Python packages that hydrus uses. Running python setup.py install installs all the required dependencies.

NOTE: python3 should be used, not python2.

Demo

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

Clone hydrus:

git clone https://github.com/HTTP-APIs/hydrus

Change directory and switch to the develop branch:

cd hydrus

git checkout -b develop origin/develop

Install hydrus:

pip install .

or

python setup.py install

and run the server:

hydrus serve

The demo should now be running on http://localhost:8080/serverapi/.

Usage

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

You can’t perform that action at this time.