openapi cli tool
Project description
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:
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]:
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 Distributions
Hashes for openapi_cli_tool-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c98210d84e00d8380fb889ae6bafad4f586f2eb429623be535b3e16c367bd52 |
|
MD5 | e9a7b0ec221239e3191fc514e2358260 |
|
BLAKE2b-256 | 8719d3b1ea8803c967f07eff2547c4233f80833830ce561e84b8144590f6c04d |
Hashes for openapi_cli_tool-0.1.3-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22163bec0702fa8d553388bf193e45ba52206cb18318c8de121fe8c22f6378a6 |
|
MD5 | c97a8ee997abf3544b7ad80f3ce350c1 |
|
BLAKE2b-256 | ac9b74bde8ad557aa7910d93d0c0a4b5cdb7b0e44857147a7bc6f6a26933c3ca |