Skip to main content

openapi-cli-tool

Build Status

openapi-cli-tool

OpenAPI (Swagger 3.x) CLI Tool.

  • Supports multiple file extensions (json|yaml|yml).
  • Can list up defined API paths.
  • Display an API specification which is resolved ($ref).
  • Bundle multi-file into one (output to json|yaml|html).
  • OAS interactive scaffolding.

Requirements

Python 2.7, 3.4 <=.

Installation

With pip:

$ pip install openapi-cli-tool

Manually:
Clone the repository and execute the Python installation command on your machine.

$ 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 multiple files into one.
  list      List up API paths in a 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 multiple files 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|html}  [default: json]
  --help           Show this message and exit.

example:

$ openapi-cli-tool bundle -t html FILE_PATH > ./specification.html

In the html file, an unpkg version of swagger-ui is embedded. Rendered screenshot below:

bundle-html-img

List

List up API paths from a file/directory regardless of the 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 from a 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 from 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]:

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.1.3.tar.gz (6.2 kB view details)

Uploaded Source

Built Distributions

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

openapi_cli_tool-0.1.3-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

openapi_cli_tool-0.1.3-py2-none-any.whl (10.4 kB view details)

Uploaded Python 2

File details

Details for the file openapi-cli-tool-0.1.3.tar.gz.

File metadata

  • Download URL: openapi-cli-tool-0.1.3.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • 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.2 CPython/3.4.6

File hashes

Hashes for openapi-cli-tool-0.1.3.tar.gz
Algorithm Hash digest
SHA256 431c3732733212f2c70808813b38358ac2351b41f6ae357937eccfdef2dd1da8
MD5 b49a97fc08a28e89ae913a4ac8cd17cc
BLAKE2b-256 c741fd15d41233f6d3f1fea785acfbab01f4d87a8425bad868332c2279f5efed

See more details on using hashes here.

File details

Details for the file openapi_cli_tool-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: openapi_cli_tool-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 10.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.2 CPython/3.4.6

File hashes

Hashes for openapi_cli_tool-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7c98210d84e00d8380fb889ae6bafad4f586f2eb429623be535b3e16c367bd52
MD5 e9a7b0ec221239e3191fc514e2358260
BLAKE2b-256 8719d3b1ea8803c967f07eff2547c4233f80833830ce561e84b8144590f6c04d

See more details on using hashes here.

File details

Details for the file openapi_cli_tool-0.1.3-py2-none-any.whl.

File metadata

  • Download URL: openapi_cli_tool-0.1.3-py2-none-any.whl
  • Upload date:
  • Size: 10.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.2 CPython/2.7.14

File hashes

Hashes for openapi_cli_tool-0.1.3-py2-none-any.whl
Algorithm Hash digest
SHA256 22163bec0702fa8d553388bf193e45ba52206cb18318c8de121fe8c22f6378a6
MD5 c97a8ee997abf3544b7ad80f3ce350c1
BLAKE2b-256 ac9b74bde8ad557aa7910d93d0c0a4b5cdb7b0e44857147a7bc6f6a26933c3ca

See more details on using hashes here.

Supported by

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