From c6a8587c7904afe64c31f74da1f9d4edc7139ed2 Mon Sep 17 00:00:00 2001 From: Dhairya Khanna <31827131+Dhairya3124@users.noreply.github.com> Date: Thu, 27 Jan 2022 09:32:15 +0530 Subject: [PATCH 01/17] Fix: AttributeError: 'InstallRequirement' object has no attribute 'requirement' (#606) --- setup.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d46f92df..a789defe 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,10 @@ from pip._internal.req import parse_requirements install_requires = parse_requirements("requirements.txt", session=PipSession()) - dependencies = [str(package.requirement) for package in install_requires] + try: + dependencies = [str(package.requirement) for package in install_requires] + except: + dependencies = [str(package.req) for package in install_requires] except ImportError: msg = "Your pip version is out of date, please run `pip install --upgrade pip setuptools`" raise ImportError(msg) From da2635fd3ba55b2fc654de4c0cb4679a185c9c93 Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Wed, 26 Jan 2022 15:32:21 +0530 Subject: [PATCH 02/17] Update README.md --- README.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index d1460354..a28e8db5 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,43 @@ -hydrus [![Build Status](https://travis-ci.com/HTTP-APIs/hydrus.svg?branch=master)](https://travis-ci.com/HTTP-APIs/hydrus) +Hydrus [![Build Status](https://travis-ci.com/HTTP-APIs/hydrus.svg?branch=master)](https://travis-ci.com/HTTP-APIs/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](https://en.wikipedia.org/wiki/Linked_data) to create a powerful REST APIs to serve data. hydrus uses the [Hydra(W3C)](http://www.hydra-cg.com/) 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:8080/api/vocab` +## Start-up the demo +- With [*Docker*](https://www.docker.com/) and [*docker-compose*](https://docs.docker.com/compose/) installed, run +``` bash +docker-compose up --build +``` +- Open the browser at `http://localhost:8080/api/vocab`. You should be displaying the example API as served by the server. -Add your own Hydra documentation file -------------------------------------- +## 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. + +1. Create a `doc.py` file as the ones in `examples/` directory containing your own *ApiDoc*. +2. Set the `APIDOC_REL_PATH` variable in `docker-compose.yml`. This should the relative path from the project root. +3. Start-up the demo as above. You should be displaying your API as served by the server. -Table of contents -------------- +## Table of contents * [Features](#features) * [Requirements](#req) * [Demo](#demo) * [Usage](#usage) -Features -------------- -hydrus supports the following features: +## Features +Hydrus supports the following features: - A client that can understand Hydra vocabulary and interacts with a Hydra supporting server to basic [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) 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 -------------- +## Requirements The system is built over the following standards and tools: +- [Python](https://www.python.org/downloads/) 3.6 and above - [Flask](http://flask.pocoo.org/) a Python based micro-framework for handling server requests and responses. - [JSON-LD](http://json-ld.org/spec/latest/json-ld/) as the preferred data format. - [Hydra](http://www.hydra-cg.com/) as the API standard. @@ -46,12 +46,14 @@ The system is built over the following standards and tools: 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`. Hydrus does not support python < 3.6 +To check your python version run +```bash +python --version +``` -Demo -------------- +## Demo To run a demo for hydrus using the sample API, just do the following: - 1. Clone hydrus: ```bash git clone https://github.com/HTTP-APIs/hydrus @@ -78,7 +80,8 @@ NOTE: there is an alternative way to install dependencies with `poetry`: pip3 install poetry poetry install ``` -This is mostly used to check dependencies conflicts among packages and to release to `PyPi`. + +This is mostly used to check dependencies conflicts among packages and to release to [`PyPi`](https://pypi.org/). After installation is successful, to *run the server*: ```bash @@ -88,14 +91,11 @@ hydrus serve The demo should be up and running on `http://localhost:8080/serverapi/`. -Usage -------------- +## Usage For more info, head to the [Usage](http://www.hydraecosystem.org/01-Usage.html) section of the [wiki](http://www.hydraecosystem.org/). -Development -------------- - +## Development From the `hydrus` directory: * To run formatter: `pip install black && black *.py` * To test for formatting: `flake8 *.py` From 6fd7a21d06fbcdd291ec11d9d9bb51116ca7faea Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Sat, 29 Jan 2022 09:42:54 +0530 Subject: [PATCH 03/17] Update STARTING.md --- docs/STARTING.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/docs/STARTING.md b/docs/STARTING.md index 0fffa123..8928be1d 100644 --- a/docs/STARTING.md +++ b/docs/STARTING.md @@ -3,14 +3,16 @@ This document is just a collection of annotations at the moment. ### Objectives This project in basically aimed to solve these issues: -* provide an attractive demo API to show HYDRA specs, we decided to leverage space sciences as they provide a subject of great interest; -* define a multi-layered (and multi-peer?) approach to make the API usable and adaptable to different filtering/querying needs; -* make useful experiments about the right way to approach aggregation/filtering procedures among data served by multiple HYDRA-enhanced endpoints (starting from well-know industry standards for database management and data warehousing, and some glimpses to GraphQL). +* Provide an attractive demo API to show hydra specs, we decided to leverage space sciences as they provide a subject of great interest; +* Define a multi-layered (and multi-peer?) approach to make the API usable and adaptable to different filtering/querying needs; +* Make useful experiments about the right way to approach aggregation/filtering procedures among data served by multiple hydra-enhanced endpoints (starting from well-know industry standards for database management and data warehousing, and some glimpses to [GraphQL](https://graphql.org/)). ### Starting assumptions -We suppose the server has to be build with at least two layers of abstraction: a low-level strict-HYDRA-RDF API that can map as directly as possible the data to resources/collections ("Server"), and a middleware API ("Client") to perform some sort of opinionated intermediation between the lower level and the "final" client ("UI") above. The middleware has to implement data querying on the lower endpoints, leveraging HYDRA's metadata framework; to do this it has in some way to implement precise choices about the aggregation mechanism that is going to fetch and "map-reduce" (aggregate) the data from the lower level (this part is really open for discussions, as a starting example you can check Mongo's pipelines and its matching/grouping system); because of the different patterns that makes possible this kind of results, some choices about tools and techniques have to be discussed and options defined. +#### We suppose the server has to be build with at least **two layers of abstraction**: + +A **low-level strict-HYDRA-RDF API** that can map as directly as possible the data to resources/collections **("Server")**, and a middleware API **("Client")** to perform some sort of opinionated intermediation between the lower level and the **"final"** **client ("UI")** above. The middleware has to implement data querying on the lower endpoints, leveraging HYDRA's metadata framework. To do this it has in some way to implement precise choices about the aggregation mechanism that is going to fetch and "map-reduce" (aggregate) the data from the lower level (this part is really open for discussions, as a starting example you can check Mongo's pipelines and its matching/grouping system), because of the different patterns that makes possible this kind of results, some choices about tools and techniques have to be discussed and options defined. ### About the option of having endpoints that are type- (class-) based As we discussed, the fun idea would be to have somenthing that can "mix" REST and RPC in some way, not technically but at least conceptually. This approach comes from the observation that the statefulness of a REST API can be in some sort (at a level we are trying to understand for the purpose of our implementation) related to the concept of invariability of the output of a pure-function. This would be practically accomplished by dedicating some endpoints to resources obviously but also to "operations" (functions that accepts some kind of paramethers and run some kind of reasoning on a data structure, we temporarly define these endpoints `hydra:Operation`s). @@ -19,14 +21,14 @@ As we discussed, the fun idea would be to have somenthing that can "mix" REST an What we mean with "aggregation" and "filtering" with HYDRA? Let's see a simple example. As HYDRA is meant to let clients to interoperate automatically, we try here to subset the problem posing it on this shape: starting from an initial input from a human/user, how can different layers of HYDRA-featured APIs respond consistantly by querying the provided endpoints? -* "UI" layer: a user (or a machine from another network) is wishful to know "what is most distant from the Sun, Earth or Mars?" -* "Client" layer: the client knows that some endpoints are available at a lower level, and we suppose that it knows it has to look for some kind of length value. It looks for the endpoints that can help, we suppose it can understand the fact that it needs the `/api/planet/calculate_average_au` (look for the right operation to perform on the "planet" class, that is basically a documentation problem); so it pass the parameters (Earth and Mars) to it. This layer is commonly referred to as *middleware*; we temporarly define `/api/planet/calculate_average_au` as a `hydra:Operation` (an endpoint that performs come kind of aggregation on other endpoints, something more similar to an RPC call more than a REST call probably), all the `hydra:Operation`s referred to a `hydra:Class` type has to be listed in the class' definition; -* "Server" layer: the server endpoints are queried and they serve the required data to calculate and respond: "Mars!". This server is the one that works like a traditional HYDRA-enhanced API, with all the descriptive features provided by the spec. +* **"UI" layer:** a user (or a machine from another network) is wishful to know "what is most distant from the Sun, Earth or Mars?" +* **"Client" layer:** the client knows that some endpoints are available at a lower level, and we suppose that it knows it has to look for some kind of length value. It looks for the endpoints that can help, we suppose it can understand the fact that it needs the `/api/planet/calculate_average_au` (look for the right operation to perform on the "planet" class, that is basically a documentation problem); so it pass the parameters (Earth and Mars) to it. This layer is commonly referred to as *middleware*; we temporarly define `/api/planet/calculate_average_au` as a `hydra:Operation` (an endpoint that performs come kind of aggregation on other endpoints, something more similar to an RPC call more than a REST call probably), all the `hydra:Operation`s referred to a `hydra:Class` type has to be listed in the class' definition; +* **"Server" layer:** the server endpoints are queried and they serve the required data to calculate and respond: "Mars!". This server is the one that works like a traditional HYDRA-enhanced API, with all the descriptive features provided by the spec. In this scenario, allowed operations are defined by the possible interaction of different (or same-kind) classes (this idea is inspired by the Scala programming language's typing system). For example, two instances of a `Planet` (of the Solar System) class can have in common the defined "operation" of `calculate_average_au` (compute the average distance of two planets using the Sun-Earth distance as unit(AU)). This way in the API we could do: `/api/planet/calculate_average_au` and pass to it the related parameters. This kind and body of the request: -``` +```json POST /api/planet/calculate_average_au { @type: "hydra:Collection", @@ -37,7 +39,7 @@ POST /api/planet/calculate_average_au } ``` This endpoint could respond with: -``` +```json { @type: "vocab:Result", # or the given type in the HYDRA framework @returns: "umbel:Float", @@ -46,7 +48,7 @@ This endpoint could respond with: } ``` This RPC-like endpoint could be meta-described as: -``` +```json { "@context": { "hydra": "http://www.w3.org/ns/hydra/context.jsonld" @@ -69,9 +71,9 @@ This RPC-like endpoint could be meta-described as: ### Stack -* initial version: local Flask ("Server") and in-memory low-footprint actors ("Client") reading from local vocabularies, use ZeroMQ; -* development version: use a cache (Mongo or Redis) for documents and try to represent a graph; -* stable version: add a some kind of graph database under the cache layer; +* **Initial version:** local Flask ("Server") and in-memory low-footprint actors ("Client") reading from local vocabularies, use ZeroMQ; +* **Development version:** use a cache (Mongo or Redis) for documents and try to represent a graph; +* **Stable version:** add a some kind of graph database under the cache layer; * ... ### Implementation From a06e53de6ae71720b82dad2be729b9e30d90bef9 Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Sat, 29 Jan 2022 09:44:21 +0530 Subject: [PATCH 04/17] Update TASKS.md --- docs/TASKS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/TASKS.md b/docs/TASKS.md index 55efc685..dd0f2dc8 100644 --- a/docs/TASKS.md +++ b/docs/TASKS.md @@ -1,7 +1,7 @@ -Establish a protocol for building routes in a way that can fit the HYDRA spec: +# Establish a protocol for building routes in a way that can fit the HYDRA spec: -* Every route (see `server.routes.py`) has to be documented with a `hydra:ApiDocumentation` (automatically): it can be used the Werkzeug `Rule.endpoints` property to name each route (within the `add_url_rule` method) and map to an apidoc response; +* Every route (see `server.routes.py`) has to be documented with a `hydra:ApiDocumentation` (automatically): it can be used the Werkzeug `Rule.endpoints` property to name each route (within the `add_url_rule` method) and map to an apidoc response;. * Rejoin all the different vocabularies in just one big vocabulary and make the server filter by argument if necessary (example vocabulary are "astronomy" and "solarsystem"); * Routes, outside the basic collections, has to be opinionated considering the concern of filtering and data creation required by the instantiation of the objects based on the provided classes (*or do it in a separate layer above*); in this case we would have a "smart middleware" that relies on a lower server layer. -* Start with the lower layer, that should be meant to provide resource one-by-one or by collections \ No newline at end of file +* Start with the lower layer, that should be meant to provide resource one-by-one or by collections. From 254ecd72a2ca8010594ea3a9be845a559a0126aa Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Sat, 29 Jan 2022 09:57:33 +0530 Subject: [PATCH 05/17] Update TUTORIALS.md --- docs/TUTORIALS.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/TUTORIALS.md b/docs/TUTORIALS.md index f0451f07..11d8c3c3 100644 --- a/docs/TUTORIALS.md +++ b/docs/TUTORIALS.md @@ -6,30 +6,30 @@ https://www.hydraecosystem.org/Starting-Material ### How is an ```ApiDoc``` defined: - There are two ways of defining an ApiDoc: - 1. Writing a Hydra-compliant JSON-LD like [here]( https://github.com/HTTP-APIs/hydrus/blob/master/hydrus/samples/doc_writer_sample_output.py) - 1. Defining the ApiDoc programmatically using the code like in [here](https://github.com/HTTP-APIs/hydrus/blob/master/hydrus/samples/doc_writer_sample.py) + 1. Writing a Hydra-compliant JSON-LD like [here]( https://github.com/HTTP-APIs/hydrus/blob/master/hydrus/samples/doc_writer_sample_output.py). + 2. Defining the ApiDoc programmatically using the code like in [here](https://github.com/HTTP-APIs/hydrus/blob/master/hydrus/samples/doc_writer_sample.py). - Any valid ApiDoc can be passed to the server so that it can parse the doc, generate a database and start the server. - The document containing the context is generated by the doc_maker file in the hydra_python_core repo. hydrus provides the link in its response for the context. ### Points : #### Description of some files: -1. hydrus/app.py - 1. Used for logging. (Line 22) - 1. Starts the SQLAlchemy engine and creates a session (Line 25-26) - 1. Creates an Api Documentation using the doc_maker() of hydra_python_core - 1. Gets the parsed classes from hydrus/data/doc_parse.py - 1. Creates database tables and its metadata Line 34-36 - 1. Checks if Authentication is True, adds user to the session.Check: https://www.hydraecosystem.org/Auth - 1. Calls app_factory class' constructor - 1.Sets authentication,api_name,session etc. which can be later retrieved using the corresponding get functions. - 1. Runs the API on the Port mentioned. -1. hydrus/app_factory.py - 1. Used to add resources to the API from resources.py. +1. [*hydrus/app.py*](https://github.com/HTTP-APIs/hydrus/blob/develop/hydrus/app.py). + 1. Used for logging. [Line 22](https://github.com/HTTP-APIs/hydrus/blob/c6a8587c7904afe64c31f74da1f9d4edc7139ed2/hydrus/app.py#L22). + 2. Starts the SQLAlchemy engine and creates a session [Line 30](https://github.com/HTTP-APIs/hydrus/blob/c6a8587c7904afe64c31f74da1f9d4edc7139ed2/hydrus/app.py#L30). + 3. Creates an Api Documentation using the [doc_maker() of hydra_python_core](https://hydra-python-core.readthedocs.io/_/downloads/en/develop/pdf/). + 4. Gets the parsed classes from [hydrus/data/doc_parse.py](https://github.com/HTTP-APIs/hydrus/blob/develop/hydrus/data/doc_parse.py). + 5. Creates database tables and its metadata [Line 34-36](https://github.com/HTTP-APIs/hydrus/blob/c6a8587c7904afe64c31f74da1f9d4edc7139ed2/hydrus/data/doc_parse.py#L34). + 6. Checks if Authentication is True, adds user to the session.[Check](https://www.hydraecosystem.org/Auth). + 7. Calls app_factory class' constructor. + 8. Sets authentication,api_name,session etc. which can be later retrieved using the corresponding get functions. + 9. Runs the API on the Port mentioned. +1. [*hydrus/app_factory.py*](https://github.com/HTTP-APIs/hydrus/blob/develop/hydrus/app_factory.py) + 1. Used to add resources to the API from `resources.py`. 1. Configures properties of API. - 1. Enables CORS -1. hydrus/resources.py + 1. Enables CORS. +1. [*hydrus/resources.py*](https://github.com/HTTP-APIs/hydrus/blob/develop/hydrus/resources.py) 1. Contains classes which are added as resources to the API. -1. hydrus/samples/hydra_doc_sample.py - 1. This file contains the sample ApiDoc that is displayed when the demo for hydrus is run. It contains the JSON-LD document that is displayed. +1. [*hydrus/samples/hydra_doc_sample.py*](https://github.com/HTTP-APIs/hydrus/blob/develop/hydrus/samples/hydra_doc_sample.py). + 1. This file contains the sample ApiDoc that is displayed when the demo for hydrus is run. It contains the [JSON-LD](https://json-ld.org/) document that is displayed. From dd45a06ce6fe6b6f6d27e0da8f26e84c2326d19c Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Sat, 29 Jan 2022 09:59:54 +0530 Subject: [PATCH 06/17] Update hydrus_database.md --- docs/hydrus_database.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hydrus_database.md b/docs/hydrus_database.md index 1653e900..5f06508e 100644 --- a/docs/hydrus_database.md +++ b/docs/hydrus_database.md @@ -21,4 +21,4 @@ The overview of the process of making a database from `apidoc` object is: ### Example ER Diagram It might be easier to understand what we discussed above if we could see a ER diagram for a Hydra API Doc. So, let us take the sample [Drone API Doc](https://github.com/HTTP-APIs/hydrus/blob/develop/hydrus/samples/hydra_doc_sample.py) as our example. -The ER diagram for the database generated for this Hydra doc can be found [here](er_diagram.pdf). \ No newline at end of file +The [ER diagram](https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model) for the database generated for this Hydra doc can be found [here](er_diagram.pdf). From 6a004fef1c20b45cf347b4624c1df06acface572 Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Sat, 29 Jan 2022 11:30:15 +0530 Subject: [PATCH 07/17] Update TUTORIALS.md --- docs/TUTORIALS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/TUTORIALS.md b/docs/TUTORIALS.md index 11d8c3c3..e6e2f847 100644 --- a/docs/TUTORIALS.md +++ b/docs/TUTORIALS.md @@ -1,6 +1,6 @@ -# hydrus Workflow +# Hydra Workflow -This document can be used to understand how hydrus works.
+This document can be used to understand how hydra works.
To understand the concepts related to hydrus:
https://www.hydraecosystem.org/Starting-Material From 70fe61e4dbbc0c8b10e0ec4c0a8c8fec21f80ac2 Mon Sep 17 00:00:00 2001 From: Krish Bhardwaj <72294477+Krish-bhardwaj@users.noreply.github.com> Date: Sat, 29 Jan 2022 11:30:47 +0530 Subject: [PATCH 08/17] Update hydrus_database.md --- docs/hydrus_database.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hydrus_database.md b/docs/hydrus_database.md index 5f06508e..8be8e11f 100644 --- a/docs/hydrus_database.md +++ b/docs/hydrus_database.md @@ -1,4 +1,4 @@ -## hydrus +## Hydrus `hydrus` is a core part of the HydraEcosystem. It is the server which powers Hydra-based API Docs. From 6f199de58411ee99a772ce97b92ad069ae35d7a6 Mon Sep 17 00:00:00 2001 From: Krish-bhardwaj Date: Sat, 29 Jan 2022 23:20:56 +0530 Subject: [PATCH 09/17] test --- docs/wiki/images/db_schema.svg | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 docs/wiki/images/db_schema.svg diff --git a/docs/wiki/images/db_schema.svg b/docs/wiki/images/db_schema.svg new file mode 100644 index 00000000..cb97d57b --- /dev/null +++ b/docs/wiki/images/db_schema.svg @@ -0,0 +1,4 @@ + + + +

instances

instances
id            INTEGER
name    VARCHAR
type_      INTEGER
id            INTEGERname    VARC...

graphiac

graphiac
id                     INTEGER
subject           INTEGER
predicatd        INTEGER
object_           
INTEGER
id                     INTEGERsubject...

classes

classes
id               INTEGER
name       VARCHAR
id               INTEGERname       VAR...

graphiii

graphiii
id                     INTEGER
subject            INTEGER
predicatd        INTEGER
object_            
INTEGER
id                     INTEGERsubject...

graph

graph
id               INTEGER
type          VARCHAR
id               INTEGERtype...

graphcac

graphcac
id                  INTEGER
subject         INTEGER
predicatd     INTEGER
object_         
INTEGER
id                  INTEGERsubject...

property

property
 id            INTEGER
name     VARCHAR
type_     
VARCHAR
id            INTEGERname     VARC...

graphiit

graphiit
id                  INTEGER
subject         INTEGER
predicatd     INTEGER
object_         
INTEGER
id                  INTEGERsubject...

terminals

terminals
 id            INTEGER
value     VARCHAR
unit        
VARCHAR
id            INTEGERvalue     VAR...
Text is not SVG - cannot display
\ No newline at end of file From d055aade7de72a4de10a802c6ac3c90a029eaafa Mon Sep 17 00:00:00 2001 From: Krish-bhardwaj Date: Sat, 29 Jan 2022 23:24:51 +0530 Subject: [PATCH 10/17] test over --- docs/wiki/images/db_schema.svg | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 docs/wiki/images/db_schema.svg diff --git a/docs/wiki/images/db_schema.svg b/docs/wiki/images/db_schema.svg deleted file mode 100644 index cb97d57b..00000000 --- a/docs/wiki/images/db_schema.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -

instances

instances
id            INTEGER
name    VARCHAR
type_      INTEGER
id            INTEGERname    VARC...

graphiac

graphiac
id                     INTEGER
subject           INTEGER
predicatd        INTEGER
object_           
INTEGER
id                     INTEGERsubject...

classes

classes
id               INTEGER
name       VARCHAR
id               INTEGERname       VAR...

graphiii

graphiii
id                     INTEGER
subject            INTEGER
predicatd        INTEGER
object_            
INTEGER
id                     INTEGERsubject...

graph

graph
id               INTEGER
type          VARCHAR
id               INTEGERtype...

graphcac

graphcac
id                  INTEGER
subject         INTEGER
predicatd     INTEGER
object_         
INTEGER
id                  INTEGERsubject...

property

property
 id            INTEGER
name     VARCHAR
type_     
VARCHAR
id            INTEGERname     VARC...

graphiit

graphiit
id                  INTEGER
subject         INTEGER
predicatd     INTEGER
object_         
INTEGER
id                  INTEGERsubject...

terminals

terminals
 id            INTEGER
value     VARCHAR
unit        
VARCHAR
id            INTEGERvalue     VAR...
Text is not SVG - cannot display
\ No newline at end of file From 43bb0454b33a69f916971e9dc096dbf350df5ee7 Mon Sep 17 00:00:00 2001 From: Krish-bhardwaj Date: Sat, 29 Jan 2022 23:28:19 +0530 Subject: [PATCH 11/17] db_schema update --- docs/wiki/images/db_schema.png | Bin 28836 -> 95912 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/wiki/images/db_schema.png b/docs/wiki/images/db_schema.png index ca239748b3383aae30e1832652e0acf5154d06b1..7d3832d30c2742a640669fb9d167a34acc45ab2f 100644 GIT binary patch literal 95912 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 Date: Sat, 29 Jan 2022 23:39:21 +0530 Subject: [PATCH 12/17] hydra_dataflow digram update --- docs/wiki/images/hydra_dataflow.png | Bin 16137 -> 34163 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/wiki/images/hydra_dataflow.png b/docs/wiki/images/hydra_dataflow.png index 9f6f6155f78d97f717893ea8181a0923b6f45d54..73afc9ae0b2013745eb3f797b3169cd9c021226e 100644 GIT binary patch literal 34163 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 literal 16137 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 Date: Sat, 29 Jan 2022 23:48:56 +0530 Subject: [PATCH 13/17] rdf_datafow updated --- docs/wiki/images/rdf_dataflow.png | Bin 24717 -> 41483 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/wiki/images/rdf_dataflow.png b/docs/wiki/images/rdf_dataflow.png index 0d256cb919ca27d0be555e40b3dbf7bcd987ed0f..640d534aa9ca0305850a675be77307de419cd11f 100644 GIT binary patch literal 41483 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 z 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 literal 24717 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 rC~)>0oI1Yx(H@kPw1KCme$y Date: Sat, 29 Jan 2022 23:54:58 +0530 Subject: [PATCH 14/17] Use_case1 updated --- docs/wiki/images/use_case1.png | Bin 25117 -> 55978 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/wiki/images/use_case1.png b/docs/wiki/images/use_case1.png index 6e772359aaf331e7064805e00ff7682e8e24ab04..b0ac2da1ff057914d190ef49caad9cc1c9b0d75c 100644 GIT binary patch literal 55978 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 a5mbaMMZB#1_?t$?AoP~*Ki_Uxz4;%)#Yv(7 From 891d3b0d6f29fd8a9c483b5cc3ed396a0d72ca4f Mon Sep 17 00:00:00 2001 From: Krish-bhardwaj Date: Fri, 4 Feb 2022 09:46:32 +0530 Subject: [PATCH 15/17] readme update --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a28e8db5..7c03ca8b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Hydrus [![Build Status](https://travis-ci.com/HTTP-APIs/hydrus.svg?branch=master)](https://travis-ci.com/HTTP-APIs/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](https://en.wikipedia.org/wiki/Linked_data) to create a powerful REST APIs to serve data. -hydrus uses the [Hydra(W3C)](http://www.hydra-cg.com/) standard for creation and documentation of it's APIs. +hydrus uses the [hydra(W3C)](http://www.hydra-cg.com/) standard for creation and documentation of it's APIs. ## Start-up the demo - With [*Docker*](https://www.docker.com/) and [*docker-compose*](https://docs.docker.com/compose/) installed, run @@ -12,8 +12,8 @@ docker-compose up --build 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: +## Add your own hydra documentation file +To serve your own hydra-RDF documentation file: 1. Create a `doc.py` file as the ones in `examples/` directory containing your own *ApiDoc*. 2. Set the `APIDOC_REL_PATH` variable in `docker-compose.yml`. This should the relative path from the project root. @@ -29,8 +29,8 @@ You should be displaying your API as served by the server. ## Features -Hydrus supports the following features: -- A client that can understand Hydra vocabulary and interacts with a Hydra supporting server to basic [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations on data. +hydrus supports the following features: +- A client that can understand hydra vocabulary and interacts with a hydra supporting server to basic [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) 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)** @@ -40,12 +40,12 @@ The system is built over the following standards and tools: - [Python](https://www.python.org/downloads/) 3.6 and above - [Flask](http://flask.pocoo.org/) a Python based micro-framework for handling server requests and responses. - [JSON-LD](http://json-ld.org/spec/latest/json-ld/) as the preferred data format. -- [Hydra](http://www.hydra-cg.com/) as the API standard. +- [hydra](http://www.hydra-cg.com/) as the API standard. - [SQLAlchemy](http://www.sqlalchemy.org/) 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`. Hydrus does not support python < 3.6 +**NOTE:** You'll need to use `python3` not `python2`. hydrus does not support python < 3.6 To check your python version run ```bash python --version From 434194a2c2dc95f8303d0be4e1e60c5038ed46be Mon Sep 17 00:00:00 2001 From: Krish-bhardwaj Date: Fri, 4 Feb 2022 12:04:39 +0530 Subject: [PATCH 16/17] update hydrus/utils.py --- hydrus/app_factory.py | 10 +- hydrus/utils.py | 476 +++++++++++++++++++----------------------- 2 files changed, 222 insertions(+), 264 deletions(-) diff --git a/hydrus/app_factory.py b/hydrus/app_factory.py index 3184166d..11d0ffaf 100644 --- a/hydrus/app_factory.py +++ b/hydrus/app_factory.py @@ -36,14 +36,8 @@ def root_url(): api.add_resource(Index, f"/{api_name}/", endpoint="api") api.add_resource(Vocab, f"/{api_name}/{vocab_route}", endpoint="vocab") - api.add_resource( - Contexts, f"/{api_name}/contexts/.jsonld", endpoint="contexts" - ) - api.add_resource( - Entrypoint, - f"/{api_name}/contexts/EntryPoint.jsonld", - endpoint="main_entrypoint", - ) + api.add_resource(Contexts, f"/{api_name}/contexts/.jsonld", endpoint="contexts") + api.add_resource(Entrypoint,f"/{api_name}/contexts/EntryPoint.jsonld",endpoint="main_entrypoint",) api.add_resource( ItemCollection, f"/{api_name}/", endpoint="item_collection" ) diff --git a/hydrus/utils.py b/hydrus/utils.py index dcf5f69d..06f2636f 100644 --- a/hydrus/utils.py +++ b/hydrus/utils.py @@ -1,355 +1,319 @@ -""" -Pluggable utilities for hydrus. -=============================== -This module is for Web server-related utilities. For data-related - utilities use `data.helpers` - -Imports : -contextlib.contextmanager : This function is a decorator that can be used to -define a factory function for with statement context managers, without needing -to create a class or separate __enter__() and __exit__() methods. -Ref- https://docs.python.org/2/library/contextlib.html#contextlib.contextmanager -flask.appcontext_pushed : Signal is sent when an application context is pushed. -The sender is the application. -Ref- http://flask.pocoo.org/docs/0.12/api/#flask.appcontext_pushed -Ref- https://speakerdeck.com/mitsuhiko/advanced-flask-patterns-1 -flask.g : Used to attach values to global variables -doc_writer_sample : Sample script used to create Hydra APIDocumentation -hydra_python_core.engine : An SQLalchemy DB engine -sqlalchemy.orm.sessionmaker : Used to create a SQLalchemy Session -sqlalchemy.orm.session.Session : SQLalchemy Session class -Ref- http://docs.sqlalchemy.org/en/latest/orm/session_basics.html -hydra_python_core.doc_writer.HydraDoc : Class for Hydra Documentation -""" # nopep8 +# Pluggable utilities for hydrus. +# =============================== +# This module is for Web server-related utilities. For data-related +# utilities use `data.helpers` +# Imports : + +# contextlib module used + +# contextlib.contextmanager : This function is a decorator that can be used to +# define a factory function for with statement context +# managers, without needing to create a class or separate +# __enter__() and __exit__() methods. +# Ref- https://docs.python.org/2/library/contextlib.html#contextlib.contextmanager from contextlib import contextmanager -from typing import Dict, List -from flask import appcontext_pushed -from flask import g, Response, jsonify -from hydrus.samples import doc_writer_sample -from hydrus.data.db_models import engine -from hydra_python_core.doc_writer import HydraError + +# sqlalchemy module used + +# sqlalchemy.orm.sessionmaker : Used to create a SQLalchemy Session +# sqlalchemy.orm.scoped_session : Used to create a SQLalchemy Scoped_session +# sqlalchemy.orm.session.Session : SQLalchemy Session class +# Ref- http://docs.sqlalchemy.org/en/latest/orm/session_basics.html from sqlalchemy.orm import sessionmaker, scoped_session from sqlalchemy.orm.session import Session -from hydra_python_core.doc_writer import HydraDoc -from flask.app import Flask -from typing import Any, Iterator +# flask module used -@contextmanager -def set_authentication(application: Flask, authentication: bool) -> Iterator: - """ - Set the whether API needs to be authenticated or not (before it is run in main.py). +# flask.g : Used to attach values to global variables +# flask.Response : +# flask.jsonify : +# flask.appcontext_pushed : +# flask.app.Flask : +# flask.appcontext_pushed : Signal is sent when an application context is pushed. +# The sender is the application. +# Ref- http://flask.pocoo.org/docs/0.12/api/#flask.appcontext_pushed +# Ref- https://speakerdeck.com/mitsuhiko/advanced-flask-patterns-1 +from flask import g, Response, jsonify , appcontext_pushed , Flask - :param application: Flask app object - - :param authentication : Bool. API Auth needed or not - +# typing +# +from typing import Any, Iterator , Dict, List - Raises: - TypeError: If `authentication` is not a boolean value. +# hrdyus modules - """ - if not isinstance(authentication, bool): - raise TypeError("Authentication flag must be of type ") +# hydrus.samples.doc_writer_sample : Sample script used to create Hydra APIDocumentation +# hydrus.data.db_models.engine : An SQLalchemy DB engine +# hydra_python_core.doc_writer.HydraDoc : Class for Hydra Documentation +# hydra_python_core.doc_writer.HydraError : Class for Hydra Error +from hydrus.samples import doc_writer_sample +from hydrus.data.db_models import engine +from hydra_python_core.doc_writer import HydraDoc , HydraError - def handler(sender: Flask, **kwargs: Any) -> None: - g.authentication_ = authentication +def error(value,data_type,error_msg): + if not isinstance(value,data_type): + raise TypeError(error_msg) + +def error_2(value_1 , data_type_1 , value_2 , data_type_2 , error_msg): + if not isinstance(value_1, data_type_1) and not isinstance(value_1, data_type_2): + raise TypeError(error_msg) +def try_except_block(value_1,value_2,value_3,value_4): + try: + value_1 = getattr(g, value_2) + except AttributeError: + value_1 = value_3 + value_4 = value_1 + return value_1 + +def appcontext_pushed_function(): with appcontext_pushed.connected_to(handler, application): yield +@contextmanager +def set_authentication(application: Flask, authentication: bool) -> Iterator: + # set_authentication : + # Set the whether API needs to be authenticated or not (before it is run in main.py). -def get_authentication() -> bool: - """ - Check whether API needs to be authenticated or not. - Return and sets False if not found. - :return authentication : Bool. API Auth needed or not - - """ - try: - authentication = getattr(g, "authentication_") - except AttributeError: - authentication = False + # :param application: Flask app object + # + # :param authentication : Bool. API Auth needed or not + # + + # Raises: + # TypeError: If `authentication` is not a boolean value. + + error(authentication, bool,"Authentication flag must be of type ") + + def handler(sender: Flask, **kwargs: Any) -> None: g.authentication_ = authentication - return authentication + + appcontext_pushed_function() + + +def get_authentication() -> bool: + + # Check whether API needs to be authenticated or not. + # Return and sets False if not found. + # :return authentication : Bool. API Auth needed or not + # + + return try_except_block(authentication,"authentication_",False,g.authentication_) @contextmanager def set_api_name(application: Flask, api_name: str) -> Iterator: - """ - Set the server name or EntryPoint for the app (before it is run in main.py). - :param application: Flask app object - - :param api_name : API/Server name or EntryPoint - - Raises: - TypeError: If `api_name` is not a string. + # Set the server name or EntryPoint for the app (before it is run in main.py). + # :param application: Flask app object + # + # :param api_name : API/Server name or EntryPoint + # + + # Raises: + # TypeError: If `api_name` is not a string. + - """ - if not isinstance(api_name, str): - raise TypeError("The api_name is not of type ") + error(api_name, str,"The api_name is not of type ") def handler(sender: Flask, **kwargs: Any) -> None: g.api_name = api_name - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() def get_api_name() -> str: - """ - Get the server API name. - Returns an sets "api" as api_name if not found. - :return api_name : API/Server name or EntryPoint - - """ - try: - api_name = getattr(g, "api_name") - except AttributeError: - api_name = "api" - g.api_name = api_name - return api_name + + # Get the server API name. + # Returns an sets "api" as api_name if not found. + # :return api_name : API/Server name or EntryPoint + # + + return try_except_block(api_name,"api_name","api",g.api_name) @contextmanager def set_page_size(application: Flask, page_size: int) -> Iterator: - """ - Set the page_size of a page view. - :param application: Flask app object - - :param page_size : Number of maximum elements a page can contain - - Raises: - TypeError: If `page_size` is not an int. + # Set the page_size of a page view. + # :param application: Flask app object + # + # :param page_size : Number of maximum elements a page can contain + # + + # Raises: + # TypeError: If `page_size` is not an int. + - """ - if not isinstance(page_size, int): - raise TypeError("The page_size is not of type ") + error(page_size, int , "The page_size is not of type ") def handler(sender: Flask, **kwargs: Any) -> None: g.page_size = page_size - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() def get_page_size() -> int: - """ - Get the page_size of a page-view. - :return page_size : Number of maximum elements a page view can contain. - - """ - try: - page_size = getattr(g, "page_size") - except AttributeError: - page_size = 10 - g.page_size = page_size - return page_size + + # Get the page_size of a page-view. + # :return page_size : Number of maximum elements a page view can contain. + # + + return try_except_block(page_size,"page_size",10,g.page_size) @contextmanager def set_pagination(application: Flask, paginate: bool) -> Iterator: - """ - Enable or disable pagination. - :param application: Flask app object - - :param paginate : Pagination enabled or not - - Raises: - TypeError: If `paginate` is not a bool. + # Enable or disable pagination. + # :param application: Flask app object + # + # :param paginate : Pagination enabled or not + # + + # Raises: + # TypeError: If `paginate` is not a bool. - """ - if not isinstance(paginate, bool): - raise TypeError("The CLI argument 'pagination' is not of type ") + error(paginate, bool,"The CLI argument 'pagination' is not of type ") + def handler(sender: Flask, **kwargs: Any) -> None: g.paginate = paginate - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() def get_pagination() -> bool: - """ - Get the pagination status(Enable/Disable). - :return paginate : Pagination enabled or not - - """ - try: - paginate = getattr(g, "paginate") - except AttributeError: - paginate = True - g.paginate = paginate - return paginate + + # Get the pagination status(Enable/Disable). + # :return paginate : Pagination enabled or not + # + + return try_except_block(paginate,"paginate",True,g.paginate) @contextmanager def set_doc(application: Flask, APIDOC: HydraDoc) -> Iterator: - """ - Set the API Documentation for the app (before it is run in main.py). - :param application: Flask app object - - :param APIDOC : Hydra Documentation object - - - Raises: - TypeError: If `APIDOC` is not an instance of `HydraDoc`. - - """ - if not isinstance(APIDOC, HydraDoc): - raise TypeError( - "The API Doc is not of type " - ) + + # Set the API Documentation for the app (before it is run in main.py). + # :param application: Flask app object + # + # :param APIDOC : Hydra Documentation object + # + + # Raises: + # TypeError: If `APIDOC` is not an instance of `HydraDoc`. + + + error(APIDOC, HydraDoc,"The API Doc is not of type ") def handler(sender: Flask, **kwargs: Any) -> None: g.doc = APIDOC - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() @contextmanager def set_token(application: Flask, token: bool) -> Iterator: - """Set whether API needs to implement token based authentication. + # Set whether API needs to implement token based authentication. - Raises: - TypeError: If `token` is not a boolean value. + # Raises: + # TypeError: If `token` is not a boolean value. - """ - if not isinstance(token, bool): - raise TypeError("Token flag must be of type ") + error(token, bool,"Token flag must be of type ") def handler(sender: Flask, **kwargs: Any) -> None: g.token_ = token - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() def get_doc() -> HydraDoc: - """ - Get the server API Documentation. - Returns and sets doc_writer_sample.api_doc if not found. - :return apidoc : Hydra Documentation object - - """ - try: - apidoc = getattr(g, "doc") - except AttributeError: - g.doc = apidoc = doc_writer_sample.api_doc - return apidoc + + # Get the server API Documentation. + # Returns and sets doc_writer_sample.api_doc if not found. + # :return apidoc : Hydra Documentation object + # + + return try_except_block(apidoc,"doc",g.doc,doc_writer_sample.api_doc) def get_token() -> bool: - """Check wether API needs to be authenticated or not.""" - try: - token = getattr(g, "token_") - except AttributeError: - token = False - g.token_ = token - return token + # Check wether API needs to be authenticated or not. + return try_except_block(token,"token_",False,g.token_) @contextmanager def set_hydrus_server_url(application: Flask, server_url: str) -> Iterator: - """ - Set the server URL for the app (before it is run in main.py). - :param application: Flask app object - - :param server_url : Server URL - - Raises: - TypeError: If the `server_url` is not a string. + # Set the server URL for the app (before it is run in main.py). + # :param application: Flask app object + # + # :param server_url : Server URL + # + + # Raises: + # TypeError: If the `server_url` is not a string. - """ - if not isinstance(server_url, str): - raise TypeError("The server_url is not of type ") + error(server_url, str,"The server_url is not of type ") def handler(sender: Flask, **kwargs: Any) -> None: g.hydrus_server_url = server_url - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() def get_hydrus_server_url() -> str: - """ - Get the server URL. - Returns and sets "http://localhost/" if not found. - :return hydrus_server_url : Server URL - - """ - try: - hydrus_server_url = getattr(g, "hydrus_server_url") - except AttributeError: - hydrus_server_url = "http://localhost/" - g.hydrus_server_url = hydrus_server_url - return hydrus_server_url + + # Get the server URL. + # Returns and sets "http://localhost/" if not found. + # :return hydrus_server_url : Server URL + # + + return try_except_block(hydrus_server_url,"hydrus_server_url","http://localhost/",g.hydrus_server_url) @contextmanager def set_session(application: Flask, DB_SESSION: scoped_session) -> Iterator: - """ - Set the Database Session for the app before it is run in main.py. - :param application: Flask app object - - :param DB_SESSION: SQLalchemy Session object - - - Raises: - TypeError: If `DB_SESSION` is not an instance of `scoped_session` or `Session`. - - """ - if not isinstance(DB_SESSION, scoped_session) and not isinstance( - DB_SESSION, Session - ): - raise TypeError( - "The API Doc is not of type or" - " " - ) + + # Set the Database Session for the app before it is run in main.py. + # :param application: Flask app object + # + # :param DB_SESSION: SQLalchemy Session object + # + + # Raises: + # TypeError: If `DB_SESSION` is not an instance of `scoped_session` or `Session`. + + + error_2(DB_SESSION, scoped_session,DB_SESSION, Session,"The API Doc is not of type or\n") def handler(sender: Flask, **kwargs: Any) -> None: g.dbsession = DB_SESSION - with appcontext_pushed.connected_to(handler, application): - yield + appcontext_pushed_function() def get_session() -> scoped_session: - """ - Get the Database Session from g. - Returns and sets a default Session if not found - :return session : SQLalchemy Session object - - """ - try: - session = getattr(g, "dbsession") - except AttributeError: - session = scoped_session(sessionmaker(bind=engine)) - g.dbsession = session - return session - - -def set_response_headers( - resp: Response, - ct: str = "application/ld+json", - headers: List[Dict[str, Any]]=[], - status_code: int = 200, -) -> Response: - """ - Set the response headers. - :param resp: Response. - :param ct: Content-type default "application/ld+json". - :param headers: List of objects. - :param status_code: status code default 200. - :return: Response with headers. - """ + + # Get the Database Session from g. + # Returns and sets a default Session if not found + # :return session : SQLalchemy Session object + # + + return try_except_block(session,"dbsession",scoped_session(sessionmaker(bind=engine)),g.dbsession) + + +def set_response_headers(resp: Response,ct: str = "application/ld+json",headers: List[Dict[str, Any]]=[],status_code: int = 200,) -> Response: + + # Set the response headers. + # :param resp: Response. + # :param ct: Content-type default "application/ld+json". + # :param headers: List of objects. + # :param status_code: status code default 200. + # :return: Response with headers. + resp.status_code = status_code for header in headers: resp.headers[list(header.keys())[0]] = header[list(header.keys())[0]] @@ -364,12 +328,12 @@ def set_response_headers( def error_response(error: HydraError) -> Response: - """ - Generate the response if there is an error while performing any operation - - :param error: HydraError object which will help in generating response - :type error: HydraError - :return: Error response with appropriate status code - :rtype: Response - """ + + # Generate the response if there is an error while performing any operation + + # :param error: HydraError object which will help in generating response + # :type error: HydraError + # :return: Error response with appropriate status code + # :rtype: Response + return set_response_headers(jsonify(error.generate()), status_code=error.code) From 35e4a9785f7ee4477ca9158b2a334569d2e0bd29 Mon Sep 17 00:00:00 2001 From: Krish-bhardwaj Date: Fri, 4 Feb 2022 12:19:14 +0530 Subject: [PATCH 17/17] update resources --- hydrus/resources.py | 132 ++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/hydrus/resources.py b/hydrus/resources.py index b0e0408b..6697e06c 100644 --- a/hydrus/resources.py +++ b/hydrus/resources.py @@ -1,22 +1,22 @@ -"""Imports : - flask.json.jsonify : Turns the JSON output into a Response object with the - application/json mimetype Ref- http://flask.pocoo.org/docs/0.12/api - flask.request : The request object used by default in Flask. - Remembers the matched endpoint and view arguments. - Ref - http://flask.pocoo.org/docs/0.12/api - flask.abort : Raises an HTTPException for the given status code or WSGI - application: Ref - http://flask.pocoo.org/docs/0.12/api - flask_restful.Resource : Represents an abstract RESTful resource. - Ref - http://flask-restful.readthedocs.io/en/latest/api.html - hydrus.data.crud : Function/Class to perform basic CRUD operations for the server - hydrus.auth.authenticate : Decorator for checking authentication of each request - hydrus.utils.get_session : Gets the database session for the server - hydrus.utils.get_doc : Function which gets the server API documentation - hydrus.utils.get_api_name : Function which gets the server API name - hydrus.utils.get_hydrus_server_url : Function the gets the server URL - hydrus.utils.get_authentication : Function that checks whether API needs to be - authenticated or not -""" # nopep8 +# Imports : +# flask.json.jsonify : Turns the JSON output into a Response object with the +# application/json mimetype Ref- http://flask.pocoo.org/docs/0.12/api +# flask.request : The request object used by default in Flask. +# Remembers the matched endpoint and view arguments. +# Ref - http://flask.pocoo.org/docs/0.12/api +# flask.abort : Raises an HTTPException for the given status code or WSGI +# application: Ref - http://flask.pocoo.org/docs/0.12/api +# flask_restful.Resource : Represents an abstract RESTful resource. +# Ref - http://flask-restful.readthedocs.io/en/latest/api.html +# hydrus.data.crud : Function/Class to perform basic CRUD operations for the server +# hydrus.auth.authenticate : Decorator for checking authentication of each request +# hydrus.utils.get_session : Gets the database session for the server +# hydrus.utils.get_doc : Function which gets the server API documentation +# hydrus.utils.get_api_name : Function which gets the server API name +# hydrus.utils.get_hydrus_server_url : Function the gets the server URL +# hydrus.utils.get_authentication : Function that checks whether API needs to be +# authenticated or not + import json @@ -54,18 +54,18 @@ class Index(Resource): - """Class for the EntryPoint.""" + # Class for the EntryPoint. def get(self) -> Response: - """Return main entrypoint for the api.""" + # Return main entrypoint for the api. return set_response_headers(jsonify(get_doc().entrypoint.get())) class Vocab(Resource): - """Vocabulary for Hydra.""" + # Vocabulary for Hydra. def get(self) -> Response: - """Return the main hydra vocab or a fragment of the main hydra vocab.""" + # Return the main hydra vocab or a fragment of the main hydra vocab. try: resource = request.args.getlist("resource")[0] return set_response_headers(jsonify(get_fragments(resource))) @@ -74,26 +74,26 @@ def get(self) -> Response: class Entrypoint(Resource): - """Hydra EntryPoint.""" + # Hydra EntryPoint. def get(self) -> Response: - """Return application main Entrypoint.""" + # Return application main Entrypoint. response = {"@context": get_doc().entrypoint.context.generate()} return set_response_headers(jsonify(response)) class Item(Resource): - """Handles all operations(GET, POST, PATCH, DELETE) on Items - (item can be anything depending upon the vocabulary).""" + # Handles all operations(GET, POST, PATCH, DELETE) on Items + # (item can be anything depending upon the vocabulary). @authenticate def get(self, id_: str, path: str) -> Response: - """ - GET object with id = id_ from the database. - :param id_ : Item ID - :param path : Path for Item ( Specified in APIDoc @id) - :return : object with id=id_ - """ + + # GET object with id = id_ from the database. + # :param id_ : Item ID + # :param path : Path for Item ( Specified in APIDoc @id) + # :return : object with id=id_ + id_ = str(id_) collections, parsed_classes = get_collections_and_parsed_classes() is_collection = False @@ -121,11 +121,11 @@ def get(self, id_: str, path: str) -> Response: @authenticate def post(self, id_: str, path: str) -> Response: - """ - Update object of type at ID with new object_ using HTTP POST. - :param id_ - ID of Item to be updated - :param path - Path for Item type( Specified in APIDoc @id) - """ + + # Update object of type at ID with new object_ using HTTP POST. + # :param id_ - ID of Item to be updated + # :param path - Path for Item type( Specified in APIDoc @id) + id_ = str(id_) collections, parsed_classes = get_collections_and_parsed_classes() is_collection = False @@ -146,11 +146,11 @@ def post(self, id_: str, path: str) -> Response: @authenticate def put(self, id_: str, path: str) -> Response: - """ - Add new object_ optional parameter using HTTP PUT. - :param id_ - ID of Item to be updated - :param path - Path for Item type( Specified in APIDoc @id) to be updated - """ + + # Add new object_ optional parameter using HTTP PUT. + # :param id_ - ID of Item to be updated + # :param path - Path for Item type( Specified in APIDoc @id) to be updated + id_ = str(id_) collections, parsed_classes = get_collections_and_parsed_classes() is_collection = False @@ -166,11 +166,11 @@ def put(self, id_: str, path: str) -> Response: @authenticate def delete(self, id_: str, path: str) -> Response: - """ - Delete object with id=id_ from database. - :param id_ - ID of Item to be deleted - :param path - Path for Item type( Specified in APIDoc @id) to be deleted - """ + + # Delete object with id=id_ from database. + # :param id_ - ID of Item to be deleted + # :param path - Path for Item type( Specified in APIDoc @id) to be deleted + id_ = str(id_) params = request.args.to_dict() if params.get("instances"): @@ -193,15 +193,15 @@ def delete(self, id_: str, path: str) -> Response: class ItemCollection(Resource): - """Handle operation related to ItemCollection (a collection of items).""" + # Handle operation related to ItemCollection (a collection of items). @authenticate def get(self, path: str) -> Response: - """ - Retrieve a collection of items from the database. - :param path : Path of the Collection - :return : collection of items - """ + + # Retrieve a collection of items from the database. + # :param path : Path of the Collection + # :return : collection of items + endpoint_ = checkEndpoint("GET", path) if not endpoint_["method"]: # If endpoint and Get method not supported in the API @@ -210,11 +210,11 @@ def get(self, path: str) -> Response: @authenticate def put(self, path: str) -> Response: - """ - Method executed for PUT requests. - Used to add an item to a collection - :param path - Path for Item type ( Specified in APIDoc @id) - """ + + # Method executed for PUT requests. + # Used to add an item to a collection + # :param path - Path for Item type ( Specified in APIDoc @id) + endpoint_ = checkEndpoint("PUT", path) if not endpoint_["method"]: # If endpoint and PUT method is not supported in the API @@ -229,11 +229,11 @@ def put(self, path: str) -> Response: @authenticate def delete(self, path): - """ - To delete multiple objects - :param path: endpoints - :return: - """ + + # To delete multiple objects + # :param path: endpoints + # :return: + params = request.args.to_dict() if params.get("instances"): int_list = params.get("instances") @@ -242,8 +242,8 @@ def delete(self, path): class Contexts(Resource): - """Dynamically generated contexts.""" + # Dynamically generated contexts. def get(self, category: str) -> Response: - """Return the context for the specified class.""" + # Return the context for the specified class. return get_context(category)