fastapi 0.111.1__tar.gz → 0.112.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of fastapi might be problematic. Click here for more details.
- {fastapi-0.111.1 → fastapi-0.112.1}/PKG-INFO +42 -40
- {fastapi-0.111.1 → fastapi-0.112.1}/README.md +28 -30
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dataclasses/tutorial002.py +1 -1
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dataclasses/tutorial003.py +1 -1
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/__init__.py +1 -1
- fastapi-0.112.1/fastapi/__main__.py +3 -0
- fastapi-0.112.1/fastapi/cli.py +13 -0
- fastapi-0.112.1/pdm_build.py +20 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/pyproject.toml +19 -31
- fastapi-0.112.1/requirements-docs-insiders.txt +3 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/requirements-docs.txt +4 -4
- fastapi-0.112.1/requirements-github-actions.txt +4 -0
- fastapi-0.112.1/scripts/deploy_docs_status.py +107 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/docs.py +48 -6
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/mkdocs_hooks.py +6 -2
- fastapi-0.112.1/tests/test_fastapi_cli.py +32 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dataclasses/test_tutorial002.py +1 -1
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dataclasses/test_tutorial003.py +1 -1
- fastapi-0.111.1/pdm_build.py +0 -39
- {fastapi-0.111.1 → fastapi-0.112.1}/LICENSE +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs/en/docs/img/favicon.png +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_responses/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_responses/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_responses/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_responses/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_status_codes/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_status_codes/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_status_codes/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_status_codes/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/additional_status_codes/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/advanced_middleware/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/advanced_middleware/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/advanced_middleware/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an_py310/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an_py310/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an_py310/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an_py39/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an_py39/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_an_py39/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_py310/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_py310/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/app_b_py310/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/app_testing/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/async_sql_databases/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/async_tests/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/async_tests/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/async_tests/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/background_tasks/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/background_tasks/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/background_tasks/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/background_tasks/tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/background_tasks/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/background_tasks/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/behind_a_proxy/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/behind_a_proxy/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/behind_a_proxy/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/behind_a_proxy/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/dependencies.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/internal/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/internal/admin.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/routers/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/routers/items.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app/routers/users.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/dependencies.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/internal/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/internal/admin.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/routers/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/routers/items.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an/routers/users.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/dependencies.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/internal/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/internal/admin.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/routers/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/routers/items.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/bigger_applications/app_an_py39/routers/users.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_fields/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_fields/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_fields/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_fields/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_fields/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial005_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_multiple_params/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial004_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial006_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial006_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial007_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial007_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial008.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial008_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_nested_models/tutorial009_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_updates/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_updates/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_updates/tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_updates/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_updates/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/body_updates/tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/conditional_openapi/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/configure_swagger_ui/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/configure_swagger_ui/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/configure_swagger_ui/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/cookie_params/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/cookie_params/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/cookie_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/cookie_params/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/cookie_params/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/cors/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_docs_ui/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_docs_ui/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_request_and_route/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_request_and_route/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_request_and_route/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial001b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial006b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial006c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial008.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial009b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial009c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/custom_response/tutorial010.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dataclasses/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/debugging/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_02_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_02_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial005_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial006_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial006_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008b_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008b_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008c_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008c_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008d.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008d_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial008d_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial010.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial011.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial011_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial011_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial012.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial012_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependencies/tutorial012_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependency_testing/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependency_testing/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependency_testing/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependency_testing/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/dependency_testing/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/encoder/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/encoder/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/events/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/events/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/events/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extending_openapi/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_data_types/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_data_types/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_data_types/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_data_types/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_data_types/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial004_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/extra_models/tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/first_steps/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/first_steps/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/first_steps/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial004.js +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/generate_clients/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/graphql/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/handling_errors/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/handling_errors/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/handling_errors/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/handling_errors/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/handling_errors/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/handling_errors/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/header_params/tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/metadata/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/metadata/tutorial001_1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/metadata/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/metadata/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/metadata/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/middleware/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/nosql_databases/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/openapi_callbacks/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/openapi_webhooks/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_advanced_configuration/tutorial007_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial002b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial004_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_operation_configuration/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params/tutorial003b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial006_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/path_params_numeric_validations/tutorial006_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial006_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial007_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial008.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial008_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial008b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial008b_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial009_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial009b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial009c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial009c_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial010.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial011.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial011_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial011_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial012.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial013.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/python_types/tutorial013_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial006_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params/tutorial006b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial004_an_py310_regex.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006b_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006b_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006c_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006c_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006c_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006c_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006d.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006d_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial006d_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial007_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial007_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial007_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial007_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial008.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial008_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial008_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial008_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial008_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial009_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial009_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial009_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial009_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial010.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial010_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial010_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial010_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial010_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial011.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial011_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial011_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial011_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial011_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial011_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial012.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial012_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial012_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial012_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial013.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial013_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial013_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial014.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial014_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial014_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial014_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/query_params_str_validations/tutorial014_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_02.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_02_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_02_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_02_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_03.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_03_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_03_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_files/tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_forms/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_forms/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_forms/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_forms_and_files/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_forms_and_files/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/request_forms_and_files/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_change_status_code/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_cookies/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_cookies/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_directly/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_directly/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_headers/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_headers/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial001_01.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial001_01_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial001_01_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_01.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_01_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_02.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_03.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_04.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_04_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_05.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_05_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial004_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_model/tutorial006_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_status_code/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/response_status_code/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial001_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial001_py310_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial005_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/schema_extra_example/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial005_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial006_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial006_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial007_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/security/tutorial007_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/separate_openapi_schemas/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/separate_openapi_schemas/tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/separate_openapi_schemas/tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/separate_openapi_schemas/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/separate_openapi_schemas/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/separate_openapi_schemas/tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app01/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app01/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app01/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an_py39/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an_py39/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an_py39/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app02_an_py39/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an/config_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an_py39/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an_py39/config.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/app03_an_py39/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/settings/tutorial001_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/alt_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/crud.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/database.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/models.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/schemas.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/tests/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app/tests/test_sql_app.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/alt_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/crud.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/database.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/models.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/schemas.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/tests/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py310/tests/test_sql_app.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/alt_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/crud.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/database.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/models.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/schemas.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/tests/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases/sql_app_py39/tests/test_sql_app.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases_peewee/sql_app/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases_peewee/sql_app/crud.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases_peewee/sql_app/database.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases_peewee/sql_app/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases_peewee/sql_app/models.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sql_databases_peewee/sql_app/schemas.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/static_files/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/sub_applications/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/templates/static/styles.css +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/templates/templates/item.html +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/templates/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/using_request_directly/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/websockets/tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/docs_src/wsgi/tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/_compat.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/applications.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/background.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/concurrency.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/datastructures.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/dependencies/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/dependencies/models.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/dependencies/utils.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/encoders.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/exception_handlers.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/exceptions.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/logger.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/middleware/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/middleware/cors.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/middleware/gzip.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/middleware/httpsredirect.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/middleware/trustedhost.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/middleware/wsgi.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/openapi/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/openapi/constants.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/openapi/docs.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/openapi/models.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/openapi/utils.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/param_functions.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/params.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/py.typed +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/requests.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/responses.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/routing.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/api_key.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/base.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/http.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/oauth2.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/open_id_connect_url.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/security/utils.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/staticfiles.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/templating.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/testclient.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/types.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/utils.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/fastapi/websockets.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/requirements-docs-tests.txt +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/requirements-tests.txt +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/requirements.txt +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/format.sh +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/lint.sh +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/playwright/separate_openapi_schemas/image01.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/playwright/separate_openapi_schemas/image02.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/playwright/separate_openapi_schemas/image03.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/playwright/separate_openapi_schemas/image04.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/playwright/separate_openapi_schemas/image05.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/test-cov-html.sh +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/scripts/test.sh +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_properties.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_properties_bool.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_response_extra.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_responses_bad.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_responses_custom_model_in_callback.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_responses_custom_validationerror.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_responses_default_validationerror.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_responses_response_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_additional_responses_router.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_ambiguous_params.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_annotated.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_application.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_callable_endpoint.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_compat.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_computed_fields.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_custom_middleware_exception.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_custom_route_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_custom_schema_fields.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_custom_swagger_ui_redirect.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_datastructures.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_datetime_custom_encoder.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_default_response_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_default_response_class_router.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_cache.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_contextmanager.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_contextvars.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_duplicates.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_normal_exceptions.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_overrides.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_dependency_security_overrides.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_deprecated_openapi_prefix.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_duplicate_models_openapi.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_empty_router.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_enforce_once_required_parameter.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_exception_handlers.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_extra_routes.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_filter_pydantic_sub_model/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_filter_pydantic_sub_model/app_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_filter_pydantic_sub_model/test_filter_pydantic_sub_model_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_filter_pydantic_sub_model_pv2.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_forms_from_non_typing_sequences.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_generate_unique_id_function.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_generic_parameterless_depends.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_get_request_body.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_http_connection_injection.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_include_route.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_include_router_defaults_overrides.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_infer_param_optionality.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_inherited_custom_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_invalid_path_param.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_invalid_sequence_param.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_jsonable_encoder.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_local_docs.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_modules_same_name_body/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_modules_same_name_body/app/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_modules_same_name_body/app/a.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_modules_same_name_body/app/b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_modules_same_name_body/app/main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_modules_same_name_body/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_multi_body_errors.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_multi_query_errors.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_multipart_installation.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_no_swagger_ui_redirect.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_openapi_examples.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_openapi_query_parameter_extension.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_openapi_route_extensions.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_openapi_separate_input_output_schemas.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_openapi_servers.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_operations_signatures.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_orjson_response_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_param_class.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_param_in_path_and_dependency.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_param_include_in_schema.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_params_repr.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_path.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_put_no_body.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_query.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_read_with_orm_mode.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_regex_deprecated_body.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_regex_deprecated_params.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_repeated_cookie_headers.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_repeated_dependency_schema.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_repeated_parameter_alias.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_reponse_set_reponse_code_empty.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_request_body_parameters_media_type.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_required_noneable.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_by_alias.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_change_status_code.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_class_no_mediatype.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_code_no_body.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_model_as_return_annotation.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_model_data_filter.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_model_data_filter_no_inheritance.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_model_include_exclude.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_model_invalid.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_response_model_sub_types.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_route_scope.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_router_events.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_router_prefix_with_template.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_router_redirect_slashes.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_schema_extra_examples.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_cookie.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_cookie_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_cookie_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_header.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_header_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_header_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_query.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_query_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_api_key_query_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_base.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_base_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_base_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_basic_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_basic_realm.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_basic_realm_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_bearer.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_bearer_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_bearer_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_digest.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_digest_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_http_digest_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2_authorization_code_bearer.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2_authorization_code_bearer_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2_optional_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2_password_bearer_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_oauth2_password_bearer_optional_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_openid_connect.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_openid_connect_description.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_security_openid_connect_optional.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_serialize_response.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_serialize_response_dataclass.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_serialize_response_model.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_skip_defaults.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_starlette_exception.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_starlette_urlconvertors.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_sub_callbacks.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_swagger_ui_init_oauth.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tuples.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_responses/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_responses/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_responses/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_responses/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_responses/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_status_codes/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_status_codes/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_advanced_middleware/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_advanced_middleware/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_advanced_middleware/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_advanced_middleware/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_async_sql_databases/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_async_sql_databases/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_async_tests/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_async_tests/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/test_tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/test_tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_background_tasks/test_tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_behind_a_proxy/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_bigger_applications/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_bigger_applications/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_bigger_applications/test_main_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_bigger_applications/test_main_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_fields/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_fields/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_fields/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_fields/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_fields/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_fields/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_nested_models/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_nested_models/test_tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_nested_models/test_tutorial009_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_updates/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_updates/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_updates/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_body_updates/test_tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_conditional_openapi/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_conditional_openapi/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cookie_params/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cookie_params/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cookie_params/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cookie_params/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cookie_params/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cors/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_cors/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_docs_ui/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_docs_ui/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_docs_ui/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_request_and_route/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial001b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial006b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial006c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial008.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial009.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial009b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_custom_response/test_tutorial009c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dataclasses/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dataclasses/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial006_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial006_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008b_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008b_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008c.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008c_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008c_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008d.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008d_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial008d_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial012.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial012_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_dependencies/test_tutorial012_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_events/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_events/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_events/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_events/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extending_openapi/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extending_openapi/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_data_types/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_data_types/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_data_types/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_data_types/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_data_types/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_data_types/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/test_tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/test_tutorial004_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_extra_models/test_tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_first_steps/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_first_steps/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_generate_clients/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_generate_clients/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_handling_errors/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_header_params/test_tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_metadata/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_metadata/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_metadata/test_tutorial001_1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_metadata/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_openapi_callbacks/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_openapi_webhooks/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_openapi_webhooks/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_configurations/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_params/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_params/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_path_params/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params/test_tutorial006_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_02.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_02_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_02_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_02_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_03.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_03_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_03_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_files/test_tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms_and_files/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_change_status_code/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_change_status_code/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_cookies/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_cookies/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_cookies/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_headers/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_headers/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_headers/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_01.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_01_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_02.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_03.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_04.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_04_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_05.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_05_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial004_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_response_model/test_tutorial006_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial001_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial001_py310_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial004.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial003_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial003_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial003_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial005.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial005_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial005_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial005_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial005_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial005_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial006.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial006_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_security/test_tutorial006_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_settings/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_settings/test_app02.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_settings/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_settings/test_tutorial001_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_sql_databases.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_testing_databases.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_testing_databases_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sql_databases/test_testing_databases_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sub_applications/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_sub_applications/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_templates/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_templates/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_main.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_main_b.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_main_b_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_main_b_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_main_b_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_main_b_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing_dependencies/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial002.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial002_an.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial002_an_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial002_py310.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial003.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_websockets/test_tutorial003_py39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_wsgi/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_tutorial/test_wsgi/test_tutorial001.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_typing_python39.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_union_body.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_union_inherited_body.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response_dataclass.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response_recursive/__init__.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response_recursive/app_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response_recursive/app_pv2.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response_recursive/test_validate_response_recursive_pv1.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_validate_response_recursive/test_validate_response_recursive_pv2.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_webhooks_security.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_ws_dependencies.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/test_ws_router.py +0 -0
- {fastapi-0.111.1 → fastapi-0.112.1}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastapi
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.112.1
|
|
4
4
|
Summary: FastAPI framework, high performance, easy to learn, fast to code, ready for production
|
|
5
5
|
Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
|
|
6
6
|
Classifier: Intended Audience :: Information Technology
|
|
@@ -30,19 +30,22 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
30
30
|
Classifier: Programming Language :: Python :: 3.12
|
|
31
31
|
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
32
32
|
Classifier: Topic :: Internet :: WWW/HTTP
|
|
33
|
-
Project-URL: Homepage, https://github.com/
|
|
33
|
+
Project-URL: Homepage, https://github.com/fastapi/fastapi
|
|
34
34
|
Project-URL: Documentation, https://fastapi.tiangolo.com/
|
|
35
|
-
Project-URL: Repository, https://github.com/
|
|
35
|
+
Project-URL: Repository, https://github.com/fastapi/fastapi
|
|
36
|
+
Project-URL: Issues, https://github.com/fastapi/fastapi/issues
|
|
37
|
+
Project-URL: Changelog, https://fastapi.tiangolo.com/release-notes/
|
|
36
38
|
Requires-Python: >=3.8
|
|
37
|
-
Requires-Dist: starlette<0.
|
|
39
|
+
Requires-Dist: starlette<0.39.0,>=0.37.2
|
|
38
40
|
Requires-Dist: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4
|
|
39
41
|
Requires-Dist: typing-extensions>=4.8.0
|
|
40
|
-
Requires-Dist: fastapi-cli>=0.0.
|
|
41
|
-
Requires-Dist: httpx>=0.23.0
|
|
42
|
-
Requires-Dist: jinja2>=2.11.2
|
|
43
|
-
Requires-Dist: python-multipart>=0.0.7
|
|
44
|
-
Requires-Dist: email_validator>=2.0.0
|
|
45
|
-
Requires-Dist: uvicorn[standard]>=0.12.0
|
|
42
|
+
Requires-Dist: fastapi-cli[standard]>=0.0.5; extra == "standard"
|
|
43
|
+
Requires-Dist: httpx>=0.23.0; extra == "standard"
|
|
44
|
+
Requires-Dist: jinja2>=2.11.2; extra == "standard"
|
|
45
|
+
Requires-Dist: python-multipart>=0.0.7; extra == "standard"
|
|
46
|
+
Requires-Dist: email_validator>=2.0.0; extra == "standard"
|
|
47
|
+
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "standard"
|
|
48
|
+
Requires-Dist: fastapi-cli[standard]>=0.0.5; extra == "all"
|
|
46
49
|
Requires-Dist: httpx>=0.23.0; extra == "all"
|
|
47
50
|
Requires-Dist: jinja2>=2.11.2; extra == "all"
|
|
48
51
|
Requires-Dist: python-multipart>=0.0.7; extra == "all"
|
|
@@ -54,6 +57,7 @@ Requires-Dist: email_validator>=2.0.0; extra == "all"
|
|
|
54
57
|
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "all"
|
|
55
58
|
Requires-Dist: pydantic-settings>=2.0.0; extra == "all"
|
|
56
59
|
Requires-Dist: pydantic-extra-types>=2.0.0; extra == "all"
|
|
60
|
+
Provides-Extra: standard
|
|
57
61
|
Provides-Extra: all
|
|
58
62
|
Description-Content-Type: text/markdown
|
|
59
63
|
|
|
@@ -64,11 +68,11 @@ Description-Content-Type: text/markdown
|
|
|
64
68
|
<em>FastAPI framework, high performance, easy to learn, fast to code, ready for production</em>
|
|
65
69
|
</p>
|
|
66
70
|
<p align="center">
|
|
67
|
-
<a href="https://github.com/
|
|
68
|
-
<img src="https://github.com/
|
|
71
|
+
<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster" target="_blank">
|
|
72
|
+
<img src="https://github.com/fastapi/fastapi/workflows/Test/badge.svg?event=push&branch=master" alt="Test">
|
|
69
73
|
</a>
|
|
70
|
-
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/
|
|
71
|
-
<img src="https://coverage-badge.samuelcolvin.workers.dev/
|
|
74
|
+
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi" target="_blank">
|
|
75
|
+
<img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="Coverage">
|
|
72
76
|
</a>
|
|
73
77
|
<a href="https://pypi.org/project/fastapi" target="_blank">
|
|
74
78
|
<img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">
|
|
@@ -82,7 +86,7 @@ Description-Content-Type: text/markdown
|
|
|
82
86
|
|
|
83
87
|
**Documentation**: <a href="https://fastapi.tiangolo.com" target="_blank">https://fastapi.tiangolo.com</a>
|
|
84
88
|
|
|
85
|
-
**Source Code**: <a href="https://github.com/
|
|
89
|
+
**Source Code**: <a href="https://github.com/fastapi/fastapi" target="_blank">https://github.com/fastapi/fastapi</a>
|
|
86
90
|
|
|
87
91
|
---
|
|
88
92
|
|
|
@@ -109,7 +113,6 @@ The key features are:
|
|
|
109
113
|
<a href="https://platform.sh/try-it-now/?utm_source=fastapi-signup&utm_medium=banner&utm_campaign=FastAPI-signup-June-2023" target="_blank" title="Build, run and scale your apps on a modern, reliable, and secure PaaS."><img src="https://fastapi.tiangolo.com/img/sponsors/platform-sh.png"></a>
|
|
110
114
|
<a href="https://www.porter.run" target="_blank" title="Deploy FastAPI on AWS with a few clicks"><img src="https://fastapi.tiangolo.com/img/sponsors/porter.png"></a>
|
|
111
115
|
<a href="https://bump.sh/fastapi?utm_source=fastapi&utm_medium=referral&utm_campaign=sponsor" target="_blank" title="Automate FastAPI documentation generation with Bump.sh"><img src="https://fastapi.tiangolo.com/img/sponsors/bump-sh.svg"></a>
|
|
112
|
-
<a href="https://reflex.dev" target="_blank" title="Reflex"><img src="https://fastapi.tiangolo.com/img/sponsors/reflex.png"></a>
|
|
113
116
|
<a href="https://github.com/scalar/scalar/?utm_source=fastapi&utm_medium=website&utm_campaign=main-badge" target="_blank" title="Scalar: Beautiful Open-Source API References from Swagger/OpenAPI files"><img src="https://fastapi.tiangolo.com/img/sponsors/scalar.svg"></a>
|
|
114
117
|
<a href="https://www.propelauth.com/?utm_source=fastapi&utm_campaign=1223&utm_medium=mainbadge" target="_blank" title="Auth, user management and more for your B2B product"><img src="https://fastapi.tiangolo.com/img/sponsors/propelauth.png"></a>
|
|
115
118
|
<a href="https://docs.withcoherence.com/configuration/frameworks/?utm_medium=advertising&utm_source=fastapi&utm_campaign=docs#fastapi-example" target="_blank" title="Coherence"><img src="https://fastapi.tiangolo.com/img/sponsors/coherence.png"></a>
|
|
@@ -117,10 +120,10 @@ The key features are:
|
|
|
117
120
|
<a href="https://konghq.com/products/kong-konnect?utm_medium=referral&utm_source=github&utm_campaign=platform&utm_content=fast-api" target="_blank" title="Kong Konnect - API management platform"><img src="https://fastapi.tiangolo.com/img/sponsors/kong.png"></a>
|
|
118
121
|
<a href="https://zuplo.link/fastapi-gh" target="_blank" title="Zuplo: Scale, Protect, Document, and Monetize your FastAPI"><img src="https://fastapi.tiangolo.com/img/sponsors/zuplo.png"></a>
|
|
119
122
|
<a href="https://fine.dev?ref=fastapibadge" target="_blank" title="Fine's AI FastAPI Workflow: Effortlessly Deploy and Integrate FastAPI into Your Project"><img src="https://fastapi.tiangolo.com/img/sponsors/fine.png"></a>
|
|
120
|
-
<a href="https://
|
|
123
|
+
<a href="https://liblab.com?utm_source=fastapi" target="_blank" title="liblab - Generate SDKs from FastAPI"><img src="https://fastapi.tiangolo.com/img/sponsors/liblab.png"></a>
|
|
121
124
|
<a href="https://github.com/deepset-ai/haystack/" target="_blank" title="Build powerful search from composable, open source building blocks"><img src="https://fastapi.tiangolo.com/img/sponsors/haystack-fastapi.svg"></a>
|
|
122
125
|
<a href="https://databento.com/" target="_blank" title="Pay as you go for market data"><img src="https://fastapi.tiangolo.com/img/sponsors/databento.svg"></a>
|
|
123
|
-
<a href="https://
|
|
126
|
+
<a href="https://speakeasy.com?utm_source=fastapi+repo&utm_medium=github+sponsorship" target="_blank" title="SDKs for your API | Speakeasy"><img src="https://fastapi.tiangolo.com/img/sponsors/speakeasy.png"></a>
|
|
124
127
|
<a href="https://www.svix.com/" target="_blank" title="Svix - Webhooks as a service"><img src="https://fastapi.tiangolo.com/img/sponsors/svix.svg"></a>
|
|
125
128
|
<a href="https://www.codacy.com/?utm_source=github&utm_medium=sponsors&utm_id=pioneers" target="_blank" title="Take code reviews from hours to minutes"><img src="https://fastapi.tiangolo.com/img/sponsors/codacy.png"></a>
|
|
126
129
|
<a href="https://www.stainlessapi.com/?utm_source=fastapi&utm_medium=referral" target="_blank" title="Stainless | Generate best-in-class SDKs"><img src="https://fastapi.tiangolo.com/img/sponsors/stainless.png"></a>
|
|
@@ -133,7 +136,7 @@ The key features are:
|
|
|
133
136
|
|
|
134
137
|
"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"
|
|
135
138
|
|
|
136
|
-
<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/
|
|
139
|
+
<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26" target="_blank"><small>(ref)</small></a></div>
|
|
137
140
|
|
|
138
141
|
---
|
|
139
142
|
|
|
@@ -195,13 +198,15 @@ FastAPI stands on the shoulders of giants:
|
|
|
195
198
|
<div class="termy">
|
|
196
199
|
|
|
197
200
|
```console
|
|
198
|
-
$ pip install fastapi
|
|
201
|
+
$ pip install "fastapi[standard]"
|
|
199
202
|
|
|
200
203
|
---> 100%
|
|
201
204
|
```
|
|
202
205
|
|
|
203
206
|
</div>
|
|
204
207
|
|
|
208
|
+
**Note**: Make sure you put `"fastapi[standard]"` in quotes to ensure it works in all terminals.
|
|
209
|
+
|
|
205
210
|
## Example
|
|
206
211
|
|
|
207
212
|
### Create it
|
|
@@ -512,11 +517,15 @@ To understand more about it, see the section <a href="https://fastapi.tiangolo.c
|
|
|
512
517
|
|
|
513
518
|
## Dependencies
|
|
514
519
|
|
|
520
|
+
FastAPI depends on Pydantic and Starlette.
|
|
521
|
+
|
|
522
|
+
### `standard` Dependencies
|
|
523
|
+
|
|
524
|
+
When you install FastAPI with `pip install "fastapi[standard]"` it comes the `standard` group of optional dependencies:
|
|
525
|
+
|
|
515
526
|
Used by Pydantic:
|
|
516
527
|
|
|
517
528
|
* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>email_validator</code></a> - for email validation.
|
|
518
|
-
* <a href="https://docs.pydantic.dev/latest/usage/pydantic_settings/" target="_blank"><code>pydantic-settings</code></a> - for settings management.
|
|
519
|
-
* <a href="https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/" target="_blank"><code>pydantic-extra-types</code></a> - for extra types to be used with Pydantic.
|
|
520
529
|
|
|
521
530
|
Used by Starlette:
|
|
522
531
|
|
|
@@ -526,33 +535,26 @@ Used by Starlette:
|
|
|
526
535
|
|
|
527
536
|
Used by FastAPI / Starlette:
|
|
528
537
|
|
|
529
|
-
* <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - for the server that loads and serves your application.
|
|
538
|
+
* <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - for the server that loads and serves your application. This includes `uvicorn[standard]`, which includes some dependencies (e.g. `uvloop`) needed for high performance serving.
|
|
530
539
|
* `fastapi-cli` - to provide the `fastapi` command.
|
|
531
540
|
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
Additional optional dependencies:
|
|
535
|
-
|
|
536
|
-
* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
|
|
537
|
-
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
|
|
541
|
+
### Without `standard` Dependencies
|
|
538
542
|
|
|
539
|
-
|
|
543
|
+
If you don't want to include the `standard` optional dependencies, you can install with `pip install fastapi` instead of `pip install "fastapi[standard]"`.
|
|
540
544
|
|
|
541
|
-
|
|
545
|
+
### Additional Optional Dependencies
|
|
542
546
|
|
|
543
|
-
|
|
547
|
+
There are some additional dependencies you might want to install.
|
|
544
548
|
|
|
545
|
-
|
|
546
|
-
pip install fastapi
|
|
547
|
-
```
|
|
549
|
+
Additional optional Pydantic dependencies:
|
|
548
550
|
|
|
549
|
-
|
|
551
|
+
* <a href="https://docs.pydantic.dev/latest/usage/pydantic_settings/" target="_blank"><code>pydantic-settings</code></a> - for settings management.
|
|
552
|
+
* <a href="https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/" target="_blank"><code>pydantic-extra-types</code></a> - for extra types to be used with Pydantic.
|
|
550
553
|
|
|
551
|
-
|
|
552
|
-
pip install "fastapi-slim[standard]"
|
|
553
|
-
```
|
|
554
|
+
Additional optional FastAPI dependencies:
|
|
554
555
|
|
|
555
|
-
|
|
556
|
+
* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
|
|
557
|
+
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
|
|
556
558
|
|
|
557
559
|
## License
|
|
558
560
|
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
<em>FastAPI framework, high performance, easy to learn, fast to code, ready for production</em>
|
|
6
6
|
</p>
|
|
7
7
|
<p align="center">
|
|
8
|
-
<a href="https://github.com/
|
|
9
|
-
<img src="https://github.com/
|
|
8
|
+
<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster" target="_blank">
|
|
9
|
+
<img src="https://github.com/fastapi/fastapi/workflows/Test/badge.svg?event=push&branch=master" alt="Test">
|
|
10
10
|
</a>
|
|
11
|
-
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/
|
|
12
|
-
<img src="https://coverage-badge.samuelcolvin.workers.dev/
|
|
11
|
+
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi" target="_blank">
|
|
12
|
+
<img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="Coverage">
|
|
13
13
|
</a>
|
|
14
14
|
<a href="https://pypi.org/project/fastapi" target="_blank">
|
|
15
15
|
<img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
**Documentation**: <a href="https://fastapi.tiangolo.com" target="_blank">https://fastapi.tiangolo.com</a>
|
|
25
25
|
|
|
26
|
-
**Source Code**: <a href="https://github.com/
|
|
26
|
+
**Source Code**: <a href="https://github.com/fastapi/fastapi" target="_blank">https://github.com/fastapi/fastapi</a>
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -50,7 +50,6 @@ The key features are:
|
|
|
50
50
|
<a href="https://platform.sh/try-it-now/?utm_source=fastapi-signup&utm_medium=banner&utm_campaign=FastAPI-signup-June-2023" target="_blank" title="Build, run and scale your apps on a modern, reliable, and secure PaaS."><img src="https://fastapi.tiangolo.com/img/sponsors/platform-sh.png"></a>
|
|
51
51
|
<a href="https://www.porter.run" target="_blank" title="Deploy FastAPI on AWS with a few clicks"><img src="https://fastapi.tiangolo.com/img/sponsors/porter.png"></a>
|
|
52
52
|
<a href="https://bump.sh/fastapi?utm_source=fastapi&utm_medium=referral&utm_campaign=sponsor" target="_blank" title="Automate FastAPI documentation generation with Bump.sh"><img src="https://fastapi.tiangolo.com/img/sponsors/bump-sh.svg"></a>
|
|
53
|
-
<a href="https://reflex.dev" target="_blank" title="Reflex"><img src="https://fastapi.tiangolo.com/img/sponsors/reflex.png"></a>
|
|
54
53
|
<a href="https://github.com/scalar/scalar/?utm_source=fastapi&utm_medium=website&utm_campaign=main-badge" target="_blank" title="Scalar: Beautiful Open-Source API References from Swagger/OpenAPI files"><img src="https://fastapi.tiangolo.com/img/sponsors/scalar.svg"></a>
|
|
55
54
|
<a href="https://www.propelauth.com/?utm_source=fastapi&utm_campaign=1223&utm_medium=mainbadge" target="_blank" title="Auth, user management and more for your B2B product"><img src="https://fastapi.tiangolo.com/img/sponsors/propelauth.png"></a>
|
|
56
55
|
<a href="https://docs.withcoherence.com/configuration/frameworks/?utm_medium=advertising&utm_source=fastapi&utm_campaign=docs#fastapi-example" target="_blank" title="Coherence"><img src="https://fastapi.tiangolo.com/img/sponsors/coherence.png"></a>
|
|
@@ -58,10 +57,10 @@ The key features are:
|
|
|
58
57
|
<a href="https://konghq.com/products/kong-konnect?utm_medium=referral&utm_source=github&utm_campaign=platform&utm_content=fast-api" target="_blank" title="Kong Konnect - API management platform"><img src="https://fastapi.tiangolo.com/img/sponsors/kong.png"></a>
|
|
59
58
|
<a href="https://zuplo.link/fastapi-gh" target="_blank" title="Zuplo: Scale, Protect, Document, and Monetize your FastAPI"><img src="https://fastapi.tiangolo.com/img/sponsors/zuplo.png"></a>
|
|
60
59
|
<a href="https://fine.dev?ref=fastapibadge" target="_blank" title="Fine's AI FastAPI Workflow: Effortlessly Deploy and Integrate FastAPI into Your Project"><img src="https://fastapi.tiangolo.com/img/sponsors/fine.png"></a>
|
|
61
|
-
<a href="https://
|
|
60
|
+
<a href="https://liblab.com?utm_source=fastapi" target="_blank" title="liblab - Generate SDKs from FastAPI"><img src="https://fastapi.tiangolo.com/img/sponsors/liblab.png"></a>
|
|
62
61
|
<a href="https://github.com/deepset-ai/haystack/" target="_blank" title="Build powerful search from composable, open source building blocks"><img src="https://fastapi.tiangolo.com/img/sponsors/haystack-fastapi.svg"></a>
|
|
63
62
|
<a href="https://databento.com/" target="_blank" title="Pay as you go for market data"><img src="https://fastapi.tiangolo.com/img/sponsors/databento.svg"></a>
|
|
64
|
-
<a href="https://
|
|
63
|
+
<a href="https://speakeasy.com?utm_source=fastapi+repo&utm_medium=github+sponsorship" target="_blank" title="SDKs for your API | Speakeasy"><img src="https://fastapi.tiangolo.com/img/sponsors/speakeasy.png"></a>
|
|
65
64
|
<a href="https://www.svix.com/" target="_blank" title="Svix - Webhooks as a service"><img src="https://fastapi.tiangolo.com/img/sponsors/svix.svg"></a>
|
|
66
65
|
<a href="https://www.codacy.com/?utm_source=github&utm_medium=sponsors&utm_id=pioneers" target="_blank" title="Take code reviews from hours to minutes"><img src="https://fastapi.tiangolo.com/img/sponsors/codacy.png"></a>
|
|
67
66
|
<a href="https://www.stainlessapi.com/?utm_source=fastapi&utm_medium=referral" target="_blank" title="Stainless | Generate best-in-class SDKs"><img src="https://fastapi.tiangolo.com/img/sponsors/stainless.png"></a>
|
|
@@ -74,7 +73,7 @@ The key features are:
|
|
|
74
73
|
|
|
75
74
|
"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"
|
|
76
75
|
|
|
77
|
-
<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/
|
|
76
|
+
<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26" target="_blank"><small>(ref)</small></a></div>
|
|
78
77
|
|
|
79
78
|
---
|
|
80
79
|
|
|
@@ -136,13 +135,15 @@ FastAPI stands on the shoulders of giants:
|
|
|
136
135
|
<div class="termy">
|
|
137
136
|
|
|
138
137
|
```console
|
|
139
|
-
$ pip install fastapi
|
|
138
|
+
$ pip install "fastapi[standard]"
|
|
140
139
|
|
|
141
140
|
---> 100%
|
|
142
141
|
```
|
|
143
142
|
|
|
144
143
|
</div>
|
|
145
144
|
|
|
145
|
+
**Note**: Make sure you put `"fastapi[standard]"` in quotes to ensure it works in all terminals.
|
|
146
|
+
|
|
146
147
|
## Example
|
|
147
148
|
|
|
148
149
|
### Create it
|
|
@@ -453,11 +454,15 @@ To understand more about it, see the section <a href="https://fastapi.tiangolo.c
|
|
|
453
454
|
|
|
454
455
|
## Dependencies
|
|
455
456
|
|
|
457
|
+
FastAPI depends on Pydantic and Starlette.
|
|
458
|
+
|
|
459
|
+
### `standard` Dependencies
|
|
460
|
+
|
|
461
|
+
When you install FastAPI with `pip install "fastapi[standard]"` it comes the `standard` group of optional dependencies:
|
|
462
|
+
|
|
456
463
|
Used by Pydantic:
|
|
457
464
|
|
|
458
465
|
* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>email_validator</code></a> - for email validation.
|
|
459
|
-
* <a href="https://docs.pydantic.dev/latest/usage/pydantic_settings/" target="_blank"><code>pydantic-settings</code></a> - for settings management.
|
|
460
|
-
* <a href="https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/" target="_blank"><code>pydantic-extra-types</code></a> - for extra types to be used with Pydantic.
|
|
461
466
|
|
|
462
467
|
Used by Starlette:
|
|
463
468
|
|
|
@@ -467,33 +472,26 @@ Used by Starlette:
|
|
|
467
472
|
|
|
468
473
|
Used by FastAPI / Starlette:
|
|
469
474
|
|
|
470
|
-
* <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - for the server that loads and serves your application.
|
|
475
|
+
* <a href="https://www.uvicorn.org" target="_blank"><code>uvicorn</code></a> - for the server that loads and serves your application. This includes `uvicorn[standard]`, which includes some dependencies (e.g. `uvloop`) needed for high performance serving.
|
|
471
476
|
* `fastapi-cli` - to provide the `fastapi` command.
|
|
472
477
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
Additional optional dependencies:
|
|
476
|
-
|
|
477
|
-
* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
|
|
478
|
-
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
|
|
478
|
+
### Without `standard` Dependencies
|
|
479
479
|
|
|
480
|
-
|
|
480
|
+
If you don't want to include the `standard` optional dependencies, you can install with `pip install fastapi` instead of `pip install "fastapi[standard]"`.
|
|
481
481
|
|
|
482
|
-
|
|
482
|
+
### Additional Optional Dependencies
|
|
483
483
|
|
|
484
|
-
|
|
484
|
+
There are some additional dependencies you might want to install.
|
|
485
485
|
|
|
486
|
-
|
|
487
|
-
pip install fastapi
|
|
488
|
-
```
|
|
486
|
+
Additional optional Pydantic dependencies:
|
|
489
487
|
|
|
490
|
-
|
|
488
|
+
* <a href="https://docs.pydantic.dev/latest/usage/pydantic_settings/" target="_blank"><code>pydantic-settings</code></a> - for settings management.
|
|
489
|
+
* <a href="https://docs.pydantic.dev/latest/usage/types/extra_types/extra_types/" target="_blank"><code>pydantic-extra-types</code></a> - for extra types to be used with Pydantic.
|
|
491
490
|
|
|
492
|
-
|
|
493
|
-
pip install "fastapi-slim[standard]"
|
|
494
|
-
```
|
|
491
|
+
Additional optional FastAPI dependencies:
|
|
495
492
|
|
|
496
|
-
|
|
493
|
+
* <a href="https://github.com/ijl/orjson" target="_blank"><code>orjson</code></a> - Required if you want to use `ORJSONResponse`.
|
|
494
|
+
* <a href="https://github.com/esnme/ultrajson" target="_blank"><code>ujson</code></a> - Required if you want to use `UJSONResponse`.
|
|
497
495
|
|
|
498
496
|
## License
|
|
499
497
|
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
try:
|
|
2
|
+
from fastapi_cli.cli import main as cli_main
|
|
3
|
+
|
|
4
|
+
except ImportError: # pragma: no cover
|
|
5
|
+
cli_main = None # type: ignore
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def main() -> None:
|
|
9
|
+
if not cli_main: # type: ignore[truthy-function]
|
|
10
|
+
message = 'To use the fastapi command, please install "fastapi[standard]":\n\n\tpip install "fastapi[standard]"\n'
|
|
11
|
+
print(message)
|
|
12
|
+
raise RuntimeError(message) # noqa: B904
|
|
13
|
+
cli_main()
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from typing import Any, Dict
|
|
3
|
+
|
|
4
|
+
from pdm.backend.hooks import Context
|
|
5
|
+
|
|
6
|
+
TIANGOLO_BUILD_PACKAGE = os.getenv("TIANGOLO_BUILD_PACKAGE", "fastapi")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def pdm_build_initialize(context: Context) -> None:
|
|
10
|
+
metadata = context.config.metadata
|
|
11
|
+
# Get custom config for the current package, from the env var
|
|
12
|
+
config: Dict[str, Any] = context.config.data["tool"]["tiangolo"][
|
|
13
|
+
"_internal-slim-build"
|
|
14
|
+
]["packages"].get(TIANGOLO_BUILD_PACKAGE)
|
|
15
|
+
if not config:
|
|
16
|
+
return
|
|
17
|
+
project_config: Dict[str, Any] = config["project"]
|
|
18
|
+
# Override main [project] configs with custom configs for this package
|
|
19
|
+
for key, value in project_config.items():
|
|
20
|
+
metadata[key] = value
|
|
@@ -43,25 +43,30 @@ classifiers = [
|
|
|
43
43
|
"Topic :: Internet :: WWW/HTTP",
|
|
44
44
|
]
|
|
45
45
|
dependencies = [
|
|
46
|
-
"starlette>=0.37.2,<0.
|
|
46
|
+
"starlette>=0.37.2,<0.39.0",
|
|
47
47
|
"pydantic>=1.7.4,!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0",
|
|
48
48
|
"typing-extensions>=4.8.0",
|
|
49
|
-
"fastapi-cli >=0.0.2",
|
|
50
|
-
"httpx >=0.23.0",
|
|
51
|
-
"jinja2 >=2.11.2",
|
|
52
|
-
"python-multipart >=0.0.7",
|
|
53
|
-
"email_validator >=2.0.0",
|
|
54
|
-
"uvicorn[standard] >=0.12.0",
|
|
55
49
|
]
|
|
56
|
-
version = "0.
|
|
50
|
+
version = "0.112.1"
|
|
57
51
|
|
|
58
52
|
[project.urls]
|
|
59
|
-
Homepage = "https://github.com/
|
|
53
|
+
Homepage = "https://github.com/fastapi/fastapi"
|
|
60
54
|
Documentation = "https://fastapi.tiangolo.com/"
|
|
61
|
-
Repository = "https://github.com/
|
|
55
|
+
Repository = "https://github.com/fastapi/fastapi"
|
|
56
|
+
Issues = "https://github.com/fastapi/fastapi/issues"
|
|
57
|
+
Changelog = "https://fastapi.tiangolo.com/release-notes/"
|
|
62
58
|
|
|
63
59
|
[project.optional-dependencies]
|
|
60
|
+
standard = [
|
|
61
|
+
"fastapi-cli[standard] >=0.0.5",
|
|
62
|
+
"httpx >=0.23.0",
|
|
63
|
+
"jinja2 >=2.11.2",
|
|
64
|
+
"python-multipart >=0.0.7",
|
|
65
|
+
"email_validator >=2.0.0",
|
|
66
|
+
"uvicorn[standard] >=0.12.0",
|
|
67
|
+
]
|
|
64
68
|
all = [
|
|
69
|
+
"fastapi-cli[standard] >=0.0.5",
|
|
65
70
|
"httpx >=0.23.0",
|
|
66
71
|
"jinja2 >=2.11.2",
|
|
67
72
|
"python-multipart >=0.0.7",
|
|
@@ -75,6 +80,9 @@ all = [
|
|
|
75
80
|
"pydantic-extra-types >=2.0.0",
|
|
76
81
|
]
|
|
77
82
|
|
|
83
|
+
[project.scripts]
|
|
84
|
+
fastapi = "fastapi.cli:main"
|
|
85
|
+
|
|
78
86
|
[tool.pdm]
|
|
79
87
|
distribution = true
|
|
80
88
|
|
|
@@ -94,26 +102,6 @@ source-includes = [
|
|
|
94
102
|
[tool.tiangolo._internal-slim-build.packages.fastapi-slim.project]
|
|
95
103
|
name = "fastapi-slim"
|
|
96
104
|
|
|
97
|
-
[tool.tiangolo._internal-slim-build.packages.fastapi]
|
|
98
|
-
include-optional-dependencies = [
|
|
99
|
-
"standard",
|
|
100
|
-
]
|
|
101
|
-
|
|
102
|
-
[tool.tiangolo._internal-slim-build.packages.fastapi.project.optional-dependencies]
|
|
103
|
-
all = [
|
|
104
|
-
"httpx >=0.23.0",
|
|
105
|
-
"jinja2 >=2.11.2",
|
|
106
|
-
"python-multipart >=0.0.7",
|
|
107
|
-
"itsdangerous >=1.1.0",
|
|
108
|
-
"pyyaml >=5.3.1",
|
|
109
|
-
"ujson >=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0",
|
|
110
|
-
"orjson >=3.2.1",
|
|
111
|
-
"email_validator >=2.0.0",
|
|
112
|
-
"uvicorn[standard] >=0.12.0",
|
|
113
|
-
"pydantic-settings >=2.0.0",
|
|
114
|
-
"pydantic-extra-types >=2.0.0",
|
|
115
|
-
]
|
|
116
|
-
|
|
117
105
|
[tool.mypy]
|
|
118
106
|
strict = true
|
|
119
107
|
|
|
@@ -148,10 +136,10 @@ filterwarnings = [
|
|
|
148
136
|
"ignore:'cgi' is deprecated:DeprecationWarning",
|
|
149
137
|
"ignore:'crypt' is deprecated and slated for removal in Python 3.13:DeprecationWarning",
|
|
150
138
|
"ignore:You seem to already have a custom.*:RuntimeWarning:trio",
|
|
151
|
-
"ignore::trio.TrioDeprecationWarning",
|
|
152
139
|
"ignore::pytest.PytestDeprecationWarning:pytest_cov",
|
|
153
140
|
"ignore:datetime\\.datetime\\.utcfromtimestamp\\(\\) is deprecated and scheduled for removal in a future version\\..*:DeprecationWarning:sqlalchemy",
|
|
154
141
|
"ignore:datetime\\.datetime\\.utcnow\\(\\) is deprecated and scheduled for removal in a future version\\..*:DeprecationWarning:jose",
|
|
142
|
+
"ignore:The `hash` argument is deprecated*:DeprecationWarning:trio",
|
|
155
143
|
]
|
|
156
144
|
|
|
157
145
|
[tool.coverage.run]
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
mkdocs-material==9.5.18
|
|
4
4
|
mdx-include >=1.4.1,<2.0.0
|
|
5
5
|
mkdocs-redirects>=1.2.1,<1.3.0
|
|
6
|
-
typer
|
|
6
|
+
typer == 0.12.3
|
|
7
7
|
pyyaml >=5.3.1,<7.0.0
|
|
8
8
|
# For Material for MkDocs, Chinese search
|
|
9
9
|
jieba==0.42.1
|
|
10
10
|
# For image processing by Material for MkDocs
|
|
11
11
|
pillow==10.3.0
|
|
12
12
|
# For image processing by Material for MkDocs
|
|
13
|
-
cairosvg==2.7.
|
|
14
|
-
mkdocstrings[python]==0.
|
|
15
|
-
griffe-typingdoc==0.2.
|
|
13
|
+
cairosvg==2.7.1
|
|
14
|
+
mkdocstrings[python]==0.25.1
|
|
15
|
+
griffe-typingdoc==0.2.5
|
|
16
16
|
# For griffe, it formats with black
|
|
17
17
|
black==24.3.0
|
|
18
18
|
mkdocs-macros-plugin==1.0.5
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import re
|
|
3
|
+
|
|
4
|
+
from github import Github
|
|
5
|
+
from pydantic import SecretStr
|
|
6
|
+
from pydantic_settings import BaseSettings
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Settings(BaseSettings):
|
|
10
|
+
github_repository: str
|
|
11
|
+
github_token: SecretStr
|
|
12
|
+
deploy_url: str | None = None
|
|
13
|
+
commit_sha: str
|
|
14
|
+
run_id: int
|
|
15
|
+
is_done: bool = False
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def main():
|
|
19
|
+
logging.basicConfig(level=logging.INFO)
|
|
20
|
+
settings = Settings()
|
|
21
|
+
|
|
22
|
+
logging.info(f"Using config: {settings.model_dump_json()}")
|
|
23
|
+
g = Github(settings.github_token.get_secret_value())
|
|
24
|
+
repo = g.get_repo(settings.github_repository)
|
|
25
|
+
use_pr = next(
|
|
26
|
+
(pr for pr in repo.get_pulls() if pr.head.sha == settings.commit_sha), None
|
|
27
|
+
)
|
|
28
|
+
if not use_pr:
|
|
29
|
+
logging.error(f"No PR found for hash: {settings.commit_sha}")
|
|
30
|
+
return
|
|
31
|
+
commits = list(use_pr.get_commits())
|
|
32
|
+
current_commit = [c for c in commits if c.sha == settings.commit_sha][0]
|
|
33
|
+
run_url = f"https://github.com/{settings.github_repository}/actions/runs/{settings.run_id}"
|
|
34
|
+
if settings.is_done and not settings.deploy_url:
|
|
35
|
+
current_commit.create_status(
|
|
36
|
+
state="success",
|
|
37
|
+
description="No Docs Changes",
|
|
38
|
+
context="deploy-docs",
|
|
39
|
+
target_url=run_url,
|
|
40
|
+
)
|
|
41
|
+
logging.info("No docs changes found")
|
|
42
|
+
return
|
|
43
|
+
if not settings.deploy_url:
|
|
44
|
+
current_commit.create_status(
|
|
45
|
+
state="pending",
|
|
46
|
+
description="Deploying Docs",
|
|
47
|
+
context="deploy-docs",
|
|
48
|
+
target_url=run_url,
|
|
49
|
+
)
|
|
50
|
+
logging.info("No deploy URL available yet")
|
|
51
|
+
return
|
|
52
|
+
current_commit.create_status(
|
|
53
|
+
state="success",
|
|
54
|
+
description="Docs Deployed",
|
|
55
|
+
context="deploy-docs",
|
|
56
|
+
target_url=run_url,
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
files = list(use_pr.get_files())
|
|
60
|
+
docs_files = [f for f in files if f.filename.startswith("docs/")]
|
|
61
|
+
|
|
62
|
+
deploy_url = settings.deploy_url.rstrip("/")
|
|
63
|
+
lang_links: dict[str, list[str]] = {}
|
|
64
|
+
for f in docs_files:
|
|
65
|
+
match = re.match(r"docs/([^/]+)/docs/(.*)", f.filename)
|
|
66
|
+
if not match:
|
|
67
|
+
continue
|
|
68
|
+
lang = match.group(1)
|
|
69
|
+
path = match.group(2)
|
|
70
|
+
if path.endswith("index.md"):
|
|
71
|
+
path = path.replace("index.md", "")
|
|
72
|
+
else:
|
|
73
|
+
path = path.replace(".md", "/")
|
|
74
|
+
if lang == "en":
|
|
75
|
+
link = f"{deploy_url}/{path}"
|
|
76
|
+
else:
|
|
77
|
+
link = f"{deploy_url}/{lang}/{path}"
|
|
78
|
+
lang_links.setdefault(lang, []).append(link)
|
|
79
|
+
|
|
80
|
+
links: list[str] = []
|
|
81
|
+
en_links = lang_links.get("en", [])
|
|
82
|
+
en_links.sort()
|
|
83
|
+
links.extend(en_links)
|
|
84
|
+
|
|
85
|
+
langs = list(lang_links.keys())
|
|
86
|
+
langs.sort()
|
|
87
|
+
for lang in langs:
|
|
88
|
+
if lang == "en":
|
|
89
|
+
continue
|
|
90
|
+
current_lang_links = lang_links[lang]
|
|
91
|
+
current_lang_links.sort()
|
|
92
|
+
links.extend(current_lang_links)
|
|
93
|
+
|
|
94
|
+
message = f"📝 Docs preview for commit {settings.commit_sha} at: {deploy_url}"
|
|
95
|
+
|
|
96
|
+
if links:
|
|
97
|
+
message += "\n\n### Modified Pages\n\n"
|
|
98
|
+
message += "\n".join([f"* {link}" for link in links])
|
|
99
|
+
|
|
100
|
+
print(message)
|
|
101
|
+
use_pr.as_issue().create_comment(message)
|
|
102
|
+
|
|
103
|
+
logging.info("Finished")
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
if __name__ == "__main__":
|
|
107
|
+
main()
|