Generator of python HTTP-clients from OpenApi specification based on httpx and pydantic
Documentation: https://artsmolin.github.io/pythogen
Source Code: https://github.com/artsmolin/pythogen
Examples: sync and async clients for Petstore OpenAPI
You can install the library
pip install pythogen
or use Docker
docker pull artsmolin/pythogen
path/to/input
— path to the directory with openapi.yaml;path/to/output
— the path to the directory where the generated client will be saved;
Generate a client using the installed library
pythogen path/to/input/openapi.yaml path/to/output/client.py
or via Docker
docker run \
-v ./path/to/input:/opt/path/to/input \
-v ./path/to/output:/opt/path/to/output \
artsmolin/pythogen \
path/to/input/openapi.yaml \
path/to/output/client.py
from petstore.client_async import Client
from petstore.client_async import Pet
from petstore.client_async import EmptyBody
from petstore.client_async import FindPetsByStatusQueryParams
client = Client(base_url="http://your.base.url")
pets: list[Pet] | EmptyBody = await client.findPetsByStatus(
query_params=FindPetsByStatusQueryParams(status="available"),
)