Skip to main content

openapi cli tool

Project description

openapi-cli-tool

Build Status

openapi-cli-tool

OpenAPI (Swagger 3.x) CLI Tool.

  • Supports multi file extension (json|yaml|yml).
  • List up defined APIs.
  • Display an API specification which is resolved $ref.
  • Bundle multi-file into one.
  • OAS interactive scaffold.

Installation

Execute Python installation command on your machine.
Supports Python 2.7, 3.4 <=.

$ python setup.py install

Then openapi-cli-tool command is installed.

Usage

$ openapi-cli-tool --help
Usage: openapi-cli-tool [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  bundle    Bundle multi-file into one.
  list      List up APIs in a specific file or directory.
  resolve   Display `$ref` resolved API specification.
  scaffold  Interactively create a simple OpenAPI Specification.

Bundle

Bundle multi-file specifications into one, regardless of file extension (json|yaml|yml).

$ openapi-cli-tool bundle --help
Usage: openapi-cli-tool bundle [OPTIONS] FILE_PATH

  Bundle multi-file into one.

Options:
  -f, --file TEXT  Load common objects such as info and servers from a
                   specific file. Default is a file which is the top of list
                   command result.
  -t, --type TEXT  Export data type. {json|yaml}  [default: json]
  --help           Show this message and exit.

example:

$ openapi-cli-tool bundle FILE_PAH > ./specification.json

List

List up APIs from specification file/directory regardless of file extension (json|yaml|yml).

$ openapi-cli-tool list [spec-path]

Method    Path       File
--------  ---------  ------------------------------------------
PUT       /avatar    ./tests/resources/spec/sample.yml
GET       /follwers  ./tests/resources/spec/folder1/sample2.yaml
POST      /follwers  ./tests/resources/spec/folder1/sample2.yaml
PUT       /follwers  ./tests/resources/spec/folder1/sample2.yaml
POST      /pets      ./tests/resources/spec/sample.yml
GET       /posts     ./tests/resources/spec/folder1/sample.json
POST      /posts     ./tests/resources/spec/folder1/sample.json
GET       /users     ./tests/resources/spec/folder1/sample.json
POST      /users     ./tests/resources/spec/folder1/sample.json

Resolve

Display an API specification which is resolved multi-file API specification via $ref pointers.

Usage: openapi-cli-tool resolve [OPTIONS] METHOD PATH FILE_PATH

  Display `$ref` resolved API specification.

Options:
  -t, --type TEXT  Export data type. {json|yaml}  [default: json]
  --help           Show this message and exit.

example:

$ openapi-cli-tool resolve post /cats ./tests/resources/spec

Scaffold

Interactively input information of your API.
A simple OpenAPI Specification is generated on your prompt.

$ openapi-cli-tool scaffold

Please enter title [""]: sample
Please enter version [v1.0]:
Please enter license [Apache 2.0]:
Please enter server url [http://example.com]:
Please enter path [/]: /example
Please enter method for /example [get|post|put|delete|head|option|trace]: get
Please enter description for get /example [""]: sample get endpoint
Please enter response code for get /example [200]:

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-cli-tool-0.1a0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distributions

openapi_cli_tool-0.1a0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

openapi_cli_tool-0.1a0-py2-none-any.whl (9.4 kB view details)

Uploaded Python 2

File details

Details for the file openapi-cli-tool-0.1a0.tar.gz.

File metadata

  • Download URL: openapi-cli-tool-0.1a0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.14

File hashes

Hashes for openapi-cli-tool-0.1a0.tar.gz
Algorithm Hash digest
SHA256 ed485bbca43130b36431c022e1399ab6e5c6736391b1c9884d7a92f18bba8a70
MD5 c68fa3044719935569ec5666ebae5285
BLAKE2b-256 74570f35b9b30b1d532fed4d8ab50989b4aef95851309bade1b9e079fd134552

See more details on using hashes here.

File details

Details for the file openapi_cli_tool-0.1a0-py3-none-any.whl.

File metadata

  • Download URL: openapi_cli_tool-0.1a0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.4.6

File hashes

Hashes for openapi_cli_tool-0.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f5b3746265deb856a424cabfb8510f53cd81932d76d42d64de2e34e0bdf7add
MD5 cf60dea8f08771171df327907d3d0c9a
BLAKE2b-256 26275c053dd4669f6c402eaf220af3c87cd8afea8ad56a9715e8c464f0b8701e

See more details on using hashes here.

File details

Details for the file openapi_cli_tool-0.1a0-py2-none-any.whl.

File metadata

  • Download URL: openapi_cli_tool-0.1a0-py2-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.14

File hashes

Hashes for openapi_cli_tool-0.1a0-py2-none-any.whl
Algorithm Hash digest
SHA256 21f9d0e7108980babb2e6b74c27b0878df355e80771c21e060086b7569e7407f
MD5 8e6904492d7a24cc501d7e6715372361
BLAKE2b-256 9137ef81e98d69d3f2a66683f00bdfb68807f871355c12667460143fa89864ec

See more details on using hashes here.

Supported by

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