Skip to main content

Use OpenAPI schema to generate command line client

Project description

OpenAPI CLI

OpenAPI CLI is a command-line interface (CLI) tool designed to interact with APIs generated by openapi-python-client. This tool allows you to configure and use API clients with ease.

Features

  • Configure API client modules
  • Validate client modules
  • Generate API client instances

Installation

To install OpenAPI CLI, use poetry:

poetry add openapi-cli[full]

To install the CLI globally, use pip:

pip install openapi-cli[full]

Optional

If you want to just use separator for your operation ids use:

poetry add openapi-cli

This will not have a cli, but you can use the separator in your code. If you want to still have ability to generate clients use the following:

poetry add openapi-cli[full] --group dev

This will keep your project build clean and will not install the cli in your production environment.

Usage

To use OpenAPI CLI in your project add the following to your pyproject.toml:

    [tool.poetry.scripts]
    your-api-cli = "openapi_cli:cli"

Then, you can run the CLI using in venv activated shell:

    your-api-cli --help

Configure the CLI

Before using the CLI, you need to configure it with your client module, base URL, and token.

Install the client module using downloaded module using openapi-python-client:

your-api-cli client install --module <name_of_your_module> 

Set the base URL and token for the client module:

openapi client api-config --base-url <url_of_your_api>
openapi client auth --token <your_token>

Patch the client to support nesting:

openapi client patch --separator <your_operation_id_separator>  # default is '_oaps_'

You can import separator to integrate it with your code:

from openapi_cli.separator import CLI_SEPARATOR

Requirements

  • Python 3.12+
  • Poetry

Setup

  1. Clone the repository.
  2. Install dependencies using poetry install.

Code Formatting

This project uses black and isort for code formatting. To format the code, run:

poetry run black .
poetry run isort .

License

This project is licensed under the MIT License. See the LICENSE file for more details.

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

openapi_cli-0.2.1.14.tar.gz (54.8 kB view details)

Uploaded Source

Built Distribution

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

openapi_cli-0.2.1.14-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

Details for the file openapi_cli-0.2.1.14.tar.gz.

File metadata

  • Download URL: openapi_cli-0.2.1.14.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.11.1 Darwin/24.4.0

File hashes

Hashes for openapi_cli-0.2.1.14.tar.gz
Algorithm Hash digest
SHA256 59a976f769f31407ca7a3111c68d7356c73b6e0d61dd56f8d43f954aa97c12f6
MD5 a8b1a196a999fa6eb2e4ad26639347cd
BLAKE2b-256 ef30b49294f4182bada86bc0cb96821e4f1ad9c3e8541f6961063654c13048dc

See more details on using hashes here.

File details

Details for the file openapi_cli-0.2.1.14-py3-none-any.whl.

File metadata

  • Download URL: openapi_cli-0.2.1.14-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.11.1 Darwin/24.4.0

File hashes

Hashes for openapi_cli-0.2.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 1f5d1897a788020e6a84d248dd9e417cc71a250d96fe98dbdb527d27b7c10561
MD5 114990458a55f0e4b17b5a03dd624bd2
BLAKE2b-256 373d60b886f49ca14bf7741afb7bcbbab52b0b8e8809338cfe68e5a421b49149

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