diff --git a/README.md b/README.md index 4021788d..e3d1c562 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,20 @@ and [OpenAPI v3.1](https://github.com/OAI/OpenAPI-Specification/blob/main/versio Check documentation to see more details about the features. All documentation is in the "docs" directory and online at [openapi-core.readthedocs.io](https://openapi-core.readthedocs.io) +## Integrations compatibility matrix + +Supported [Integrations](https://openapi-core.readthedocs.io/en/latest/integrations/) and it's versions: + +| Integration | Version(s) | +| --- | --- | +| [AIOHTTP](https://openapi-core.readthedocs.io/en/latest/integrations/aiohttp/) | versions 3.8+ and 3.11+ tracks | +| [Django](https://openapi-core.readthedocs.io/en/latest/integrations/django/) | versions 4 and 5 | +| [Falcon](https://openapi-core.readthedocs.io/en/latest/integrations/falcon/) | version 4 | +| [FastAPI](https://openapi-core.readthedocs.io/en/latest/integrations/fastapi/) | versions 0.11x and 0.12x | +| [Flask](https://openapi-core.readthedocs.io/en/latest/integrations/flask/) | versions 2 and 3 | +| [Requests](https://openapi-core.readthedocs.io/en/latest/integrations/requests/) | default dependency set | +| [Starlette](https://openapi-core.readthedocs.io/en/latest/integrations/starlette/) | versions 0.4x and 0.5x | +| [Werkzeug](https://openapi-core.readthedocs.io/en/latest/integrations/werkzeug/) | default dependency set | ## Installation @@ -85,11 +99,11 @@ body = result.body security = result.security ``` -The request object should implement the OpenAPI Request protocol. Check [Integrations](https://openapi-core.readthedocs.io/en/latest/integrations.html) to find officially supported implementations. +The request object should implement the OpenAPI Request protocol. Check [Integrations](https://openapi-core.readthedocs.io/en/latest/integrations/) to find officially supported implementations. -For more details read about the [Unmarshalling](https://openapi-core.readthedocs.io/en/latest/unmarshalling.html) process. +For more details read about the [Unmarshalling](https://openapi-core.readthedocs.io/en/latest/unmarshalling/) process. -If you just want to validate your request/response data without unmarshalling, read about [Validation](https://openapi-core.readthedocs.io/en/latest/validation.html) instead. +If you just want to validate your request/response data without unmarshalling, read about [Validation](https://openapi-core.readthedocs.io/en/latest/validation/) instead. ## Related projects diff --git a/docs/contributing.md b/docs/contributing.md index 9d06634b..11062036 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -71,3 +71,16 @@ pre-commit run --all-files ``` Pre-commit check results are also attached to your PR through integration with GitHub Actions. + +### Integration compatibility matrix + +Contrib integrations are tested in CI against framework version variants and +Python versions. The matrix source of truth is: + +- `.github/workflows/integration-tests.yml` + +When changing integration compatibility, update both: + +- dependency constraints in `pyproject.toml` +- integration variants in `.github/workflows/integration-tests.yml` +- information in `docs/integrations` and `README.md` diff --git a/docs/integrations/aiohttp.md b/docs/integrations/aiohttp.md index 196d0e96..932af817 100644 --- a/docs/integrations/aiohttp.md +++ b/docs/integrations/aiohttp.md @@ -1,6 +1,6 @@ # aiohttp.web -This section describes integration with [aiohttp.web](https://docs.aiohttp.org/en/stable/web.html) framework. +This section describes integration with [aiohttp.web](https://docs.aiohttp.org/en/stable/web.html) framework. The integration supports aiohttp version 3.8+. ## Low level diff --git a/docs/integrations/django.md b/docs/integrations/django.md index c983a18e..57e8a47a 100644 --- a/docs/integrations/django.md +++ b/docs/integrations/django.md @@ -1,7 +1,7 @@ # Django This section describes the integration with the [Django](https://www.djangoproject.com) web framework. -The integration supports Django version 3.0 and above. +The integration supports Django version 4 and 5. ## Middleware diff --git a/docs/integrations/falcon.md b/docs/integrations/falcon.md index ea234592..f0c96da9 100644 --- a/docs/integrations/falcon.md +++ b/docs/integrations/falcon.md @@ -1,7 +1,7 @@ # Falcon This section describes the integration with the [Falcon](https://falconframework.org) web framework. -The integration supports Falcon version 3.0 and above. +The integration supports Falcon version 4. !!! warning diff --git a/docs/integrations/fastapi.md b/docs/integrations/fastapi.md index 5e07707e..a8e40275 100644 --- a/docs/integrations/fastapi.md +++ b/docs/integrations/fastapi.md @@ -1,6 +1,6 @@ # FastAPI -This section describes integration with [FastAPI](https://fastapi.tiangolo.com) ASGI framework. +This section describes integration with [FastAPI](https://fastapi.tiangolo.com) ASGI framework. The integration supports FastAPI versions 0.11x and 0.12x. !!! note diff --git a/docs/integrations/flask.md b/docs/integrations/flask.md index 513126e8..45925dfa 100644 --- a/docs/integrations/flask.md +++ b/docs/integrations/flask.md @@ -1,6 +1,6 @@ # Flask -This section describes integration with the [Flask](https://flask.palletsprojects.com) web framework. +This section describes integration with the [Flask](https://flask.palletsprojects.com) web framework. The integration supports Flask versions 2 and 3. ## View decorator diff --git a/docs/integrations/starlette.md b/docs/integrations/starlette.md index 1d065499..84a19447 100644 --- a/docs/integrations/starlette.md +++ b/docs/integrations/starlette.md @@ -1,6 +1,6 @@ # Starlette -This section describes integration with the [Starlette](https://www.starlette.io) ASGI framework. +This section describes integration with the [Starlette](https://www.starlette.io) ASGI framework. The integration supports Flask versions 0.4x and 0.5x. ## Middleware