Skip to main content

client and validator for OpenAPI3 3.0, OpenAPI 3.1, 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
  • 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 httpx_socks
  • 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 .

Project details


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.9.0a1.tar.gz (68.9 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.9.0a1-py3-none-any.whl (88.9 kB view details)

Uploaded Python 3

File details

Details for the file aiopenapi3-0.9.0a1.tar.gz.

File metadata

  • Download URL: aiopenapi3-0.9.0a1.tar.gz
  • Upload date:
  • Size: 68.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"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.9.0a1.tar.gz
Algorithm Hash digest
SHA256 722493a18fa1836746d3ff10a29f579b32684a7dab10121687d10432dcf94153
MD5 3a6b595bb848f658e8a8d2bc43e51af7
BLAKE2b-256 b173c8343b7962a29ff60dc2c1e3c85336fb51728ce69f23579d84918283018e

See more details on using hashes here.

File details

Details for the file aiopenapi3-0.9.0a1-py3-none-any.whl.

File metadata

  • Download URL: aiopenapi3-0.9.0a1-py3-none-any.whl
  • Upload date:
  • Size: 88.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"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.9.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 e83b371736bb7bbd1437bda801b869583b04c3dffbc3e552e785815374c501ee
MD5 9e5781b131658fcede0ee15724feff7a
BLAKE2b-256 04f5fcc5d839542686a83f857e1d0452d6035643c66fcaa1d12c114ba910f1bc

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