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.
$ pip -r requirements.txt install
$ 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_PATHS
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 file1.json file2.yaml` > ./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 `find ./spec`
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_PATHS
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 `find ./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
File details
Details for the file openapi-cli-tool-0.3.0.tar.gz
.
File metadata
- Download URL: openapi-cli-tool-0.3.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f9bd88cc0737ee395b25bf5821e3f85236871da9c1a696bd36a3afdd6ff882a |
|
MD5 | 1b1a68d745f6f57848798f7412b13d4f |
|
BLAKE2b-256 | 531753bd32842cac710fa1a7956044eec745251fa9f81e99bddfa99b9e6e1ac3 |
File details
Details for the file openapi_cli_tool-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: openapi_cli_tool-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.5.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 612ad09dad429fea783fd636453ed0d2ac1abb589d74efef1df2ad78de5b9f30 |
|
MD5 | 9ae3b666b5c5c0e63db8eb2051241777 |
|
BLAKE2b-256 | 463160bc7f835ef5231baac94b5ac90fd61956d60e92a696a82122567cd38910 |
File details
Details for the file openapi_cli_tool-0.3.0-py2-none-any.whl
.
File metadata
- Download URL: openapi_cli_tool-0.3.0-py2-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 895f43bf06a707cdd1e4ebef1f380c7c0c235cfedad93239d9e0bd29768c868d |
|
MD5 | 4a3f3adb052089830364fe40b8e88cdd |
|
BLAKE2b-256 | 86a7c0969568612c4f838838d0a73fb4ae9c8e626945a76bad504ad0df157c26 |