Skip to main content

Generator of python HTTP-clients from OpenApi specification.

Project description


Generator of python HTTP-clients from OpenApi specification based on httpx and pydantic.

Build Status codecov Code style: black

Python pypi

license


Features

Examples

Installation

pip install pythogen

Usage

Generate ordinary clients

  • Asynchronous client
    pythogen path/to/input/openapi.yaml path/to/output/client.py
    
  • Asynchronous client with integration for metrics
    pythogen path/to/input/openapi.yaml path/to/output/client.py --metrics
    
  • Synchronous client
    pythogen path/to/input/openapi.yaml path/to/output/client.py --sync
    
  • Synchronous client with integration for metrics
    pythogen path/to/input/openapi.yaml path/to/output/client.py --sync --metrics
    

Generate client as python-package

pythogen path/to/input/openapi.yaml path/to/package/output --package-version=0.0.1 --package-authors="Rick, Morty"
  • --package-version — required;
  • --package-authors — optional;
  • path/to/package/output — path to the directory where package will be saved.

Usage client

from petstore.client_async import Client
from petstore.client_async import Pet
from petstore.client_async import EmptyBody

client = Client(base_url="http://your.base.url")
pets: list[Pet] | EmptyBody = await client.findPetsByStatus(status="available")

Development

  • Activate environment
    rm -rf .venv || true
    python3 -m venv .venv
    source .venv/bin/activate
    make requirements
    
  • Make changes
  • Execute make clients-for-tests && make test-clients
  • Execute make clients-for-examples

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

pythogen-0.1.17.tar.gz (19.9 kB view hashes)

Uploaded Source

Built Distribution

pythogen-0.1.17-py3-none-any.whl (27.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page