Skip to main content

client and validator for OpenAPI3 3.0, OpenAPI 3.1, OpenAPI 3.2, Swagger 2.0

Project description

aiopenapi3

A Python OpenAPI 3 Specification client and validator for Python 3.

Test pre-commit.ci status Coverage Supported Python versions Documentation Status

This project is a fork of Dorthu/openapi3.

Features

  • implements …
    • Swagger 2.0
    • OpenAPI 3.0.3
    • OpenAPI 3.1.0
    • OpenAPI 3.2.0
  • description document parsing via pydantic
    • recursive schemas (A.a -> A)
  • request body model creation via pydantic
    • pydantic compatible "format"-type coercion (e.g. datetime.interval)
    • additionalProperties (limited to string-to-any dictionaries without properties)
  • response body & header parsing via pydantic
  • blocking and nonblocking (asyncio) interface via httpx
    • SOCKS5 via socksio
  • tests with pytest & fastapi
  • providing access to methods and arguments via the sad smiley ._. interface
  • Plugin Interface/api to modify description documents/requests/responses to adapt to non compliant services
  • YAML type coercion hints for not well formatted description documents
  • Description Document dependency downloads (using the WebLoader)
    • logging
      • export AIOPENAPI3_LOGGING_HANDLERS=debug to get /tmp/aiopenapi3-debug.log

Documentation

API Documentation

Running Tests

This project includes a test suite, run via pytest. To run the test suite, ensure that you've installed the dependencies and then run pytest in the root of this project.

PYTHONPATH=. pytest --cov=./ --cov-report=xml .

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiopenapi3-0.10.0.tar.gz (79.1 kB view details)

Uploaded Source

Built Distribution

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

aiopenapi3-0.10.0-py3-none-any.whl (104.3 kB view details)

Uploaded Python 3

File details

Details for the file aiopenapi3-0.10.0.tar.gz.

File metadata

  • Download URL: aiopenapi3-0.10.0.tar.gz
  • Upload date:
  • Size: 79.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aiopenapi3-0.10.0.tar.gz
Algorithm Hash digest
SHA256 1a9d5ec15d571965566cfd3508c4cb19bf538317ce719db7b1a7d1e4c06fd2f1
MD5 816ca8f35ed5d3eaf18416dfd0d8cf21
BLAKE2b-256 32cfd2015ecd328bf1c2b9e7d48eb2f3f477ee2c5309cb5d9eb839bfd90cdaa7

See more details on using hashes here.

File details

Details for the file aiopenapi3-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: aiopenapi3-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 104.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aiopenapi3-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3a3f0e4f39421eddc7721b84404379acf56acf651458a7ac3ae68d9934951ef
MD5 b3f51aa0e73cd0461b618bd0f30acb5e
BLAKE2b-256 637218eb2ca643dec76d40a633eabba1bff2972df07014989f907e723338940b

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