Skip to main content

Hydra Ecosystem Flagship Server. Deploy REST data for Web 3.0

Project description

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

  • 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.

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:

  • 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 development)

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.

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.

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 hydrus using:

pip3 install -r requirements.txt

python3 setup.py install

and run the server using:

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.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hydrus-0.2.4.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

hydrus-0.2.4-py3-none-any.whl (44.2 kB view details)

Uploaded Python 3

File details

Details for the file hydrus-0.2.4.tar.gz.

File metadata

  • Download URL: hydrus-0.2.4.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for hydrus-0.2.4.tar.gz
Algorithm Hash digest
SHA256 112c656addfeba86046540c3e04c7a54b414589dd2d3314a6b7a5a6f7c95edfd
MD5 05f386c9de5058f87e04ce5878efdd3a
BLAKE2b-256 49e99e66f5ba6f9f0348c5247826d953042849516b15a40e996a2a7a073c4a1c

See more details on using hashes here.

File details

Details for the file hydrus-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: hydrus-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 44.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for hydrus-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ee08c0050a0b7d3ff4c1888da812cc51096f0c296acf7eb1eb56c33defe1629e
MD5 10cb16c2a836604e25510f3e6cfeeb6a
BLAKE2b-256 7dbf0e6f93b28a7f744ba15704a5f946adb86de584ed2e2215265b2850be4840

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page