Skip to main content

Command-line tool that extracts and lists API routes from Swagger files in YAML or JSON format.

Project description

swagroutes

swagroutes is a command-line tool that extracts and lists API routes from Swagger files in YAML or JSON format. It simplifies the process of fetching the routes provided by an API and supports processing multiple files or directories at once.

Install

pip install swagroutes

Upgrade

pip install -U swagroutes

Help

usage: swagroutes [-h] [-o OUTPUT] [-p] input [input ...]

Extract routes from Swagger files.

positional arguments:
  input                 Input file(s) or directory containing Swagger files.

options:
  -h, --help            show this help message and exit
  -o OUTPUT, --output OUTPUT
                        Output file to store the results.
  -p, --include-params  Include query parameters in the extracted routes.

Usage

To use swagroutes, simply provide input files or directories containing Swagger files as arguments. The tool will process the files and print the extracted routes.

Single YAML or JSON file

swagroutes file.yaml
swagroutes file.json

Multiple YAML and/or JSON files

swagroutes file1.yaml file2.json

Directory containing Swagger files

swagroutes directory/

Mix of files and directories

swagroutes file1.yaml directory1/ file2.json directory2/

Extract parameters

swagroutes file1.yaml --include-params

Output to a file

Save the extracted routes to an output file using the -o or --output option:

swagroutes file.yaml -o output.txt 

Examples

Input:

basePath: /api
paths:
  /users:
    get: {}
    post: {}
  /profile/{profile_id}:
    put: {}

Output:

GET /api/users
POST /api/users
PUT /api/profile/{profile_id}

Input:

basePath: /api/v1
paths:
  /users:
    get:
      parameters:
        - name: limit
          in: query
        - name: offset
          in: query

  /users/{userId}:
    get:
      parameters:
        - name: userId
          in: path
          required: true
          type: string

Output:

GET /api/v1/users/{userId}
GET /api/v1/users?limit&offset

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

swagroutes-1.0.2.tar.gz (4.5 kB view hashes)

Uploaded Source

Built Distribution

swagroutes-1.0.2-py3-none-any.whl (5.6 kB view hashes)

Uploaded Python 3

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