The OpenAPI Artifact Generator Python Package
Project description
openapiart - OpenAPI Artifact Generator
The OpenAPIArt (OpenAPI Artifact Generator) python package does the following:
- pre-processes OpenAPI yaml files according to the MODELGUIDE
- using the path keyword bundles all dependency OpenAPI yaml files into a single openapi.yaml file
- post-processes any MODELGUIDE extensions
- validates the bundled openapi.yaml file
- generates a
.protofile from the openapi file - optionally generates a static redocly documentation file
- optionally generates a
python ux sdkfrom the openapi file - optionally generates a
go ux sdkfrom the openapi file
Getting started
Install the package
pip install openapiart
Generate artifacts from OpenAPI files
"""
The following command will produce these artifacts:
- ./artifacts/openapi.yaml
- ./artifacts/openapi.json
- ./artifacts/openapi.html
- ./artifacts/sample.proto
- ./artifacts/sample/__init__.py
- ./artifacts/sample/sample.py
- ./artifacts/sample/sample_pb2.py
- ./artifacts/sample/sample_pb2_grpc.py
- ./pkg/openapiart.go
- ./pkg/go.mod
- ./pkg/go.sum
- ./pkg/sanity/sanity_grpc.pb.go
- ./pkg/sanity/sanity.pb.go
"""
import openapiart
# bundle api files
# validate the bundled file
# generate the documentation file
art = openapiart.OpenApiArt(
api_files=[
"./openapiart/tests/api/info.yaml",
"./openapiart/tests/common/common.yaml",
"./openapiart/tests/api/api.yaml",
],
artifact_dir="./artifacts",
protobuf_name="sanity",
extension_prefix="sanity",
)
# optionally generate a python ux sdk and python protobuf/grpc stubs
art.GeneratePythonSdk(
package_name="sanity"
)
# optionally generate a go ux sdk and go protobuf/grpc stubs
art.GenerateGoSdk(
package_dir="github.com/open-traffic-generator/openapiart/pkg",
package_name="openapiart"
)
Specifications
This repository is based on the OpenAPI specification which is a standard, language-agnostic interface to RESTful APIs.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openapiart-0.3.38.tar.gz.
File metadata
- Download URL: openapiart-0.3.38.tar.gz
- Upload date:
- Size: 122.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f297d4f7753692b66d25336e34f1708c4b34051aeb733c5ae479cfce42901e4d
|
|
| MD5 |
69627702200cea993393b24af9ae3925
|
|
| BLAKE2b-256 |
55f4dfb0dc09c2539b027f6380a501867edc1e0a241dc0782da27f5ed4eb0fe1
|
File details
Details for the file openapiart-0.3.38-py3-none-any.whl.
File metadata
- Download URL: openapiart-0.3.38-py3-none-any.whl
- Upload date:
- Size: 156.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba03f17114c7543d9d28d37046eaae2850091597a6a76c5618069845e9272f37
|
|
| MD5 |
acc6f2bca4791eed01d9f0bf51c3e76f
|
|
| BLAKE2b-256 |
802bf1075dba732d3ea5e7982faa6007c5122b22dd72f040167b1a64ef6c8984
|