.. aiopenapi3 documentation master file, created by sphinx-quickstart on Sun Dec 25 15:28:14 2022. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. .. include:: links.rst ############ |aiopenapi3| ############ *If you can't make it perfect, make it adjustable.* |aiopenapi3| is a client library to interface RESTful services using OpenAPI_/Swagger description documents, built upon pydantic_ for data validation/coercion and httpx_ for transport. Located on `github `_. .. rubric:: No code generation Suits the code-first pattern for REST services used by major frameworks (`FastAPI `_, `Django REST framework `_) as well as design first APIs. .. rubric:: Features & Limitations While aiopenapi3 supports some of the more exotic features of the Swagger/OpenAPI specification, e.g.: * multilingual * Swagger 2.0 * OpenAPI 3.0 * OpenAPI 3.1 * OpenAPI 3.2 * multi file description documents * recursive schemas * additionalProperties mixed with properties * `additionalProperties `_ * `Discriminator/Polymorphism `_ * :doc:`plugin interface ` to mangle description documents and messages * :ref:`api:Parameter Encoding` * :ref:`advanced:Forms` * :ref:`advanced:mutualTLS` authentication * :ref:`Request ` and :ref:`Response ` streaming to reduce memory usage * :ref:`Sequential Media Types ` * Culling :ref:`extra:Large Description Documents` some aspects of the specifications are implemented loose * `Schema Composition `_ * oneOf - validation does not care if more than one matches * anyOf - implemented as oneOf * allOf - merging Schemas is limited wrt. to merge conflicts and other aspects of the specification are not implemented at all * `Conditional Subschemas `_ * dependentRequired * dependentSchemas * If-Then-Else * Implication * non-unique parameter names in an operations headers/path/query