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
Close
Hashes for hydra_openapi_parser-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fd1ca6892ec014f3285bd7a19de03bb94c9d4fee49e3815c2714ac133b70468 |
|
MD5 | 64c0845d294ed9218c945dfde3268b80 |
|
BLAKE2b-256 | f3f9bea8a3130f6a9bacb71144d1f0a55e3de0194633caf88e843c3660b4a1a9 |
Close
Hashes for hydra_openapi_parser-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef23190c3022a6eab068b8e7695255b35b6b4ef8fffe948be2ee1460623a9e71 |
|
MD5 | b9412d3254904cfe2bda722d9b9e1ad5 |
|
BLAKE2b-256 | 6b1fe3d571df353c29391af175297ed291a86787c2345a72bc18afad684ec7c0 |