aiopenapi3
A Python OpenAPI 3 Specification client and validator for Python 3.
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
- 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 .