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 .

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.7.1.tar.gz (66.7 kB view details)

Uploaded Source

Built Distribution

aiopenapi3-0.7.1-py3-none-any.whl (86.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiopenapi3-0.7.1.tar.gz
  • Upload date:
  • Size: 66.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.18.1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for aiopenapi3-0.7.1.tar.gz
Algorithm Hash digest
SHA256 10cf984ad489e59899cd4614fc178a86049f2dda5baa182669b075640dfd5249
MD5 bdab0edcb51caee233db8d8b15376314
BLAKE2b-256 6fbd24e08c5dfa9bf074d71329e25498d1671a5fa78ac4c4ee288cce472b42e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiopenapi3-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 86.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.18.1 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for aiopenapi3-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 660ed525cb377c2eccd3477ade251ca93e81e21599c8946315084ce23dd55402
MD5 5ac77a7a81a01d51d8ccf840e5f82993
BLAKE2b-256 935d5bdd8472325ec81843738b98348761e82681afb263885c343dfa0e5c2cf5

See more details on using hashes here.

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