Skip to content

A Flask HYDRA-powered web server to publish REST APIs

License

Notifications You must be signed in to change notification settings

vaibhavchellani/hydrus

 
 

Repository files navigation

Hydrus

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.

Table of contents

Features

Hydrus supports the following features:

  • A client that can understand Hydra vocabulary and interacts with a Hydra supporting server to basic CRUD operations on data.
  • A generic server that can serve required data and metadata(in the form of API documentation) to a client over HTTP.
  • A middleware that allows users to use the client to interact with the server using Natural Language which is processed machine consumable language. (under developement)

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 prefered data format.
  • Hydra as the API standard.
  • SQLAlchemy as the backend database connector for storage and related operations.

Apart from this, there are also various Python packages that Hydrus uses. A list of all these packages can be found in the requirements.txt file. It would be advisable to run pip install -r requirements.txt before setting up other things.

NOTE: You'll need to use python3 not python2.

Demo

To run a demo for Hydrus using the sample API, just 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 requirements and run the main.py script:

pip install -r requirements.txt

python main.py

The demo should be up and running on http://localhost:8080/serverapi/

Usage

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

About

A Flask HYDRA-powered web server to publish REST APIs

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%