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 details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

Details for the file swagroutes-1.0.2.tar.gz.

File metadata

  • Download URL: swagroutes-1.0.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for swagroutes-1.0.2.tar.gz
Algorithm Hash digest
SHA256 11b4e889e15a9a88456f291843df66b46a48fc34d4513fb619b0741cba108488
MD5 06a2eef89a49a14a4d4aaa7f7fc5e58c
BLAKE2b-256 94432bb94019b9701c958bea01ff65828f4e728a2d22c584281605cc1d793058

See more details on using hashes here.

File details

Details for the file swagroutes-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: swagroutes-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for swagroutes-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6b0e3b1e34eb382900e125c4ebddc3147c0ef78e51794a6acfd02d57d6ae1802
MD5 7c89c6a035f769db364b10afc9c5d44e
BLAKE2b-256 216bf4c75d01974d358d5c684d2983377cb71a91d555598bb243660f960b1b6b

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 Pingdom Monitoring Sentry Error logging StatusPage Status page