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
- Clone the repository.
- 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
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59a976f769f31407ca7a3111c68d7356c73b6e0d61dd56f8d43f954aa97c12f6
|
|
| MD5 |
a8b1a196a999fa6eb2e4ad26639347cd
|
|
| BLAKE2b-256 |
ef30b49294f4182bada86bc0cb96821e4f1ad9c3e8541f6961063654c13048dc
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f5d1897a788020e6a84d248dd9e417cc71a250d96fe98dbdb527d27b7c10561
|
|
| MD5 |
114990458a55f0e4b17b5a03dd624bd2
|
|
| BLAKE2b-256 |
373d60b886f49ca14bf7741afb7bcbbab52b0b8e8809338cfe68e5a421b49149
|