Extended tools for openapi spec
Project description
openapi-ext-tools
extended tools for openapi spec
bundle multiple yaml files into single openapi.yaml
$ openapi-spec-cli --help
usage: openapi-spec-cli [-h] --spec-path SPEC_PATH
[--bundled-spec-path BUNDLED_SPEC_PATH] [--verbose]
optional arguments:
-h, --help show this help message and exit
--spec-path SPEC_PATH
set path to openapi spec file
--bundled-spec-path BUNDLED_SPEC_PATH
set path to bundled spec file
--verbose set verbose mode
How to use
Currently, bundling only support components object.
The tests/fixtures/simple/openapi.yaml is openapi specification file and a part of schemas is defined in tests/fixtures/simple/schemas.yaml.
...
content:
application/json:
schema:
$ref: 'schemas.yaml#/components/schemas/User'
...
For example, User schema is defined like this.
components:
schemas:
User:
type: object
properties:
id:
type: integer
format: int64
username:
type: string
firstName:
type: string
lastName:
type: string
birthday:
type: string
format: date
email:
type: string
password:
type: string
phone:
type: string
userStatus:
type: integer
description: User Status
format: int32
Run openapi-spec-cli to bundle yaml files and create single openapi.yaml.
$ openapi-spec-cli --spec-path tests/fixtures/simple/openapi.yaml
2019-05-11 11:56:12,337 openapi.spec.ext INFO wrote bundled spec file to "bundled_openapi.yaml"
2019-05-11 11:56:12,402 openapi.spec.ext INFO validating bundled spec: OK
You can confirm bundled_openapi.yaml in current directory. Then, all schemas in schemas.yaml are moved to bundled_openapi.yaml and a $ref field also reffers as Local Reference.
...
content:
application/json:
schema:
$ref: '#/components/schemas/User'
...
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 openapi-ext-tools-0.5.1.tar.gz.
File metadata
- Download URL: openapi-ext-tools-0.5.1.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d559128ded1d28d8a49e8a42189b0932807f74966bde331600f11890f3f5d487
|
|
| MD5 |
1a9fd505a92d87fe2a5fb6b42a4683a4
|
|
| BLAKE2b-256 |
87a7ba2d6ed13f4b187ea91504d65af69af2424fbc9d01dc5bcf4fc17287ac71
|
File details
Details for the file openapi_ext_tools-0.5.1-py3-none-any.whl.
File metadata
- Download URL: openapi_ext_tools-0.5.1-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6ab3bbb4e90c49bb7bb9afef29c687cf8620caabd93a9a1c664139596dff4ad
|
|
| MD5 |
fee5ef3736caa40012f495b4f79473b0
|
|
| BLAKE2b-256 |
510cfd994c137416d0554093473598a0efd934674db534eb405120ea3e1df0cb
|