Skip to main content

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'
...

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openapi-ext-tools-0.5.1.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openapi_ext_tools-0.5.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

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

Hashes for openapi-ext-tools-0.5.1.tar.gz
Algorithm Hash digest
SHA256 d559128ded1d28d8a49e8a42189b0932807f74966bde331600f11890f3f5d487
MD5 1a9fd505a92d87fe2a5fb6b42a4683a4
BLAKE2b-256 87a7ba2d6ed13f4b187ea91504d65af69af2424fbc9d01dc5bcf4fc17287ac71

See more details on using hashes here.

File details

Details for the file openapi_ext_tools-0.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for openapi_ext_tools-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c6ab3bbb4e90c49bb7bb9afef29c687cf8620caabd93a9a1c664139596dff4ad
MD5 fee5ef3736caa40012f495b4f79473b0
BLAKE2b-256 510cfd994c137416d0554093473598a0efd934674db534eb405120ea3e1df0cb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.5.1 This release

2 files

0.5.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page