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
Installation
You can install the library
or use Docker
docker pull artsmolin/pythogen
Generation
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
Usage
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"), )