Hydra Ecosystem Flagship Server. Deploy REST data for Web 3.0
Project description
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.
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 inexamples/
directory containing your own ApiDoc - set the
APIDOC_REL_PATH
variable indocker-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
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 inexamples/
directory containing your own ApiDoc - set the
APIDOC_REL_PATH
variable indocker-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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file hydrus-0.3.0.tar.gz
.
File metadata
- Download URL: hydrus-0.3.0.tar.gz
- Upload date:
- Size: 45.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb6e8d5f33d4e9532a131e2451a2db2e36f1cc2e07d5f83f89d11a20a430a6af |
|
MD5 | e0ac363a2b9c2cad3f1fc8cf1e68d294 |
|
BLAKE2b-256 | 89458f2de9d51ed7068322914a3bdf33fe49bae7a83b895e514570517bdec334 |