A Parser from OpenAPI to Hydra specs
Project description
hydra-openapi-parser
This library contains the OpenAPI parser implemntaion in Python to be used with hydrus
and hydra-python-agent
.
Currently the library consists of openapi_parser module which helps hydrus parse OpenAPI standard docs.
To install the library:
pip install git+https://github.com/HTTP-APIs/hydra-openapi-parser.git#egg=hydra_openapi_parser
Note :- If using hydrus, the library doesn't need to be installed separately as it is already a part of requirements.txt for hydrus. Usage
To import the modules:
from hydra_openapi_parser import openapi_parser
Porting out from hydrus the hydraspecs directory
Sample use-cases of openapi_parser module
Once the OpenAPI YAML document is assigned into the variable doc
as a Python dictionary, you can do the following:
- Parse the OpenAPI doc into a HydraDoc
parsed_dict = openapi_parser.parse(doc)
- Generate an empty object
object = openapi_parser.generate_empty_object()
- Test if an endpoint is valid
path = 'A/B/{id}/C/D'
openapi_parser.valid_endpoint(path)
# False
path = 'A/B/{id}'
openapi_parser.valid_endpoint(path)
# Collection
path = 'A/B/C'
openapi_parser.valid_endpoint(path)
# True
- Extract class name from the path
path = "A/B/C/Pet"
path_list = path.split('/')
openapi_parser.get_class_name(path_list)
# Pet
- Fetch data from location
path = '#/definitions/Order'
path_list = path.split('/')
data = openapi_parser.get_data_at_location(path_list, doc)
# data is of type dict
- Remove variables from path
path = "A/B/C/{id}"
output = openapi_parser.sanitise_path(path)
- Identify if an object is a collection
schema_block = {
'type': 'array',
'items': {
'$ref': '#/definitions/Pet'
}
}
method = "/Pet"
openapi_parser.check_collection(schema_block, method)
# True
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
Built Distribution
File details
Details for the file hydra_openapi_parser-0.2.0.tar.gz
.
File metadata
- Download URL: hydra_openapi_parser-0.2.0.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fd1ca6892ec014f3285bd7a19de03bb94c9d4fee49e3815c2714ac133b70468 |
|
MD5 | 64c0845d294ed9218c945dfde3268b80 |
|
BLAKE2b-256 | f3f9bea8a3130f6a9bacb71144d1f0a55e3de0194633caf88e843c3660b4a1a9 |
File details
Details for the file hydra_openapi_parser-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: hydra_openapi_parser-0.2.0-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef23190c3022a6eab068b8e7695255b35b6b4ef8fffe948be2ee1460623a9e71 |
|
MD5 | b9412d3254904cfe2bda722d9b9e1ad5 |
|
BLAKE2b-256 | 6b1fe3d571df353c29391af175297ed291a86787c2345a72bc18afad684ec7c0 |