Skip to main content

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


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

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.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page