Coder Social home page Coder Social logo

abhi-khandelwal / hydrus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from http-apis/hydrus

0.0 1.0 0.0 1.1 MB

REST server - Flask Hydra-powered for Semantic Web

Home Page: https://pypi.org/project/hydrus/

License: MIT License

Python 99.69% Dockerfile 0.16% Mako 0.16%

hydrus's Introduction

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's People

Contributors

xadahiya avatar vaibhavchellani avatar chrizandr avatar mec-is avatar vddesai1871 avatar alohamora avatar iamravitejag avatar de-sh avatar anubhav253 avatar py-ranoid avatar sandeepsajan0 avatar knakul853 avatar nityanandagohain avatar guttz avatar prajwalm2212 avatar mohdomama avatar ba11b0y avatar yashladha avatar ayush-agr avatar ashwani99 avatar suryatejreddy avatar chirag-jn avatar shravandoda avatar kayforkaran avatar nekiter avatar sidharthv96 avatar ujjwal-raizada avatar cindyhyl avatar newbazz avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.