fastapi 0.112.1__tar.gz → 0.112.2__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.112.1 → fastapi-0.112.2}/PKG-INFO +6 -4
- {fastapi-0.112.1 → fastapi-0.112.2}/README.md +3 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/advanced_middleware/tutorial003.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an/main.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an_py310/main.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an_py310/test_main.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an_py39/main.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an_py39/test_main.py +1 -1
- fastapi-0.112.2/docs_src/app_testing/app_b_py310/test_main.py +65 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/__init__.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/applications.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/dependencies/utils.py +3 -3
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/param_functions.py +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/params.py +2 -2
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/routing.py +31 -8
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/utils.py +3 -3
- {fastapi-0.112.1 → fastapi-0.112.2}/pyproject.toml +12 -7
- {fastapi-0.112.1 → fastapi-0.112.2}/requirements-docs.txt +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/requirements-tests.txt +2 -2
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/docs.py +1 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/format.sh +1 -1
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/mkdocs_hooks.py +1 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/test-cov-html.sh +1 -1
- fastapi-0.112.2/tests/test_allow_inf_nan_in_enforcing.py +83 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_contextmanager.py +3 -3
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_inherited_custom_class.py +2 -2
- fastapi-0.112.2/tests/test_router_events.py +242 -0
- fastapi-0.112.1/docs_src/app_testing/app_b_an/test_main.py +0 -65
- fastapi-0.112.1/tests/test_router_events.py +0 -111
- {fastapi-0.112.1 → fastapi-0.112.2}/LICENSE +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs/en/docs/img/favicon.png +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_responses/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_responses/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_responses/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_responses/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_status_codes/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_status_codes/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_status_codes/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_status_codes/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/additional_status_codes/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/advanced_middleware/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/advanced_middleware/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an/__init__.py +0 -0
- {fastapi-0.112.1/docs_src/app_testing/app_b_py310 → fastapi-0.112.2/docs_src/app_testing/app_b_an}/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an_py310/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_an_py39/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_py310/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/app_b_py310/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/app_testing/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/async_sql_databases/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/async_tests/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/async_tests/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/async_tests/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/background_tasks/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/background_tasks/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/background_tasks/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/background_tasks/tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/background_tasks/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/background_tasks/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/behind_a_proxy/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/behind_a_proxy/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/behind_a_proxy/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/behind_a_proxy/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/dependencies.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/internal/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/internal/admin.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/routers/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/routers/items.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app/routers/users.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/dependencies.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/internal/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/internal/admin.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/routers/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/routers/items.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an/routers/users.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/dependencies.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/internal/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/internal/admin.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/routers/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/routers/items.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/bigger_applications/app_an_py39/routers/users.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_fields/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_fields/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_fields/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_fields/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_fields/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial005_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_multiple_params/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial004_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial006_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial006_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial007_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial007_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial008.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial008_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_nested_models/tutorial009_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_updates/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_updates/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_updates/tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_updates/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_updates/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/body_updates/tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/conditional_openapi/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/configure_swagger_ui/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/configure_swagger_ui/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/configure_swagger_ui/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/cookie_params/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/cookie_params/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/cookie_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/cookie_params/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/cookie_params/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/cors/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_docs_ui/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_docs_ui/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_request_and_route/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_request_and_route/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_request_and_route/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial001b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial006b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial006c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial008.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial009b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial009c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/custom_response/tutorial010.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dataclasses/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dataclasses/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dataclasses/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/debugging/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_02_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_02_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial005_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial006_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial006_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008b_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008b_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008c_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008c_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008d.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008d_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial008d_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial010.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial011.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial011_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial011_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial012.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial012_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependencies/tutorial012_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependency_testing/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependency_testing/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependency_testing/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependency_testing/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/dependency_testing/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/encoder/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/encoder/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/events/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/events/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/events/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extending_openapi/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_data_types/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_data_types/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_data_types/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_data_types/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_data_types/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial004_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/extra_models/tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/first_steps/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/first_steps/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/first_steps/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial004.js +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/generate_clients/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/graphql/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/handling_errors/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/handling_errors/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/handling_errors/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/handling_errors/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/handling_errors/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/handling_errors/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/header_params/tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/metadata/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/metadata/tutorial001_1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/metadata/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/metadata/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/metadata/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/middleware/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/nosql_databases/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/openapi_callbacks/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/openapi_webhooks/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_advanced_configuration/tutorial007_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial002b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial004_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_operation_configuration/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params/tutorial003b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial006_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/path_params_numeric_validations/tutorial006_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial006_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial007_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial008.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial008_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial008b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial008b_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial009_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial009b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial009c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial009c_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial010.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial011.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial011_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial011_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial012.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial013.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/python_types/tutorial013_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial006_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params/tutorial006b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial004_an_py310_regex.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006b_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006b_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006c_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006c_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006c_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006c_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006d.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006d_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial006d_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial007_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial007_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial007_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial007_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial008.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial008_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial008_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial008_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial008_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial009_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial009_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial009_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial009_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial010.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial010_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial010_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial010_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial010_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial011.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial011_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial011_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial011_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial011_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial011_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial012.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial012_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial012_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial012_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial013.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial013_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial013_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial014.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial014_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial014_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial014_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/query_params_str_validations/tutorial014_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_02.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_02_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_02_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_02_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_03.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_03_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_03_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_files/tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_forms/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_forms/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_forms/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_forms_and_files/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_forms_and_files/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/request_forms_and_files/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_change_status_code/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_cookies/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_cookies/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_directly/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_directly/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_headers/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_headers/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial001_01.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial001_01_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial001_01_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_01.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_01_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_02.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_03.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_04.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_04_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_05.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_05_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial004_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_model/tutorial006_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_status_code/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/response_status_code/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial001_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial001_py310_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial005_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/schema_extra_example/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial005_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial006_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial006_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial007_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/security/tutorial007_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/separate_openapi_schemas/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/separate_openapi_schemas/tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/separate_openapi_schemas/tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/separate_openapi_schemas/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/separate_openapi_schemas/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/separate_openapi_schemas/tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app01/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app01/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app01/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an_py39/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an_py39/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an_py39/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app02_an_py39/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an/config_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an_py39/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an_py39/config.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/app03_an_py39/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/settings/tutorial001_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/alt_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/crud.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/database.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/models.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/schemas.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/tests/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app/tests/test_sql_app.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/alt_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/crud.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/database.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/models.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/schemas.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/tests/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py310/tests/test_sql_app.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/alt_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/crud.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/database.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/models.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/schemas.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/tests/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases/sql_app_py39/tests/test_sql_app.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases_peewee/sql_app/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases_peewee/sql_app/crud.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases_peewee/sql_app/database.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases_peewee/sql_app/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases_peewee/sql_app/models.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sql_databases_peewee/sql_app/schemas.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/static_files/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/sub_applications/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/templates/static/styles.css +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/templates/templates/item.html +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/templates/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/using_request_directly/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/websockets/tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/docs_src/wsgi/tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/__main__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/_compat.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/background.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/cli.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/concurrency.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/datastructures.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/dependencies/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/dependencies/models.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/encoders.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/exception_handlers.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/exceptions.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/logger.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/middleware/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/middleware/cors.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/middleware/gzip.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/middleware/httpsredirect.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/middleware/trustedhost.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/middleware/wsgi.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/openapi/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/openapi/constants.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/openapi/docs.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/openapi/models.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/openapi/utils.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/py.typed +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/requests.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/responses.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/api_key.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/base.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/http.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/oauth2.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/open_id_connect_url.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/security/utils.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/staticfiles.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/templating.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/testclient.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/types.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/fastapi/websockets.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/pdm_build.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/requirements-docs-insiders.txt +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/requirements-docs-tests.txt +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/requirements-github-actions.txt +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/requirements.txt +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/deploy_docs_status.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/lint.sh +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/playwright/separate_openapi_schemas/image01.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/playwright/separate_openapi_schemas/image02.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/playwright/separate_openapi_schemas/image03.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/playwright/separate_openapi_schemas/image04.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/playwright/separate_openapi_schemas/image05.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/scripts/test.sh +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_properties.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_properties_bool.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_response_extra.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_responses_bad.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_responses_custom_model_in_callback.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_responses_custom_validationerror.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_responses_default_validationerror.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_responses_response_class.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_additional_responses_router.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_ambiguous_params.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_annotated.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_application.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_callable_endpoint.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_compat.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_computed_fields.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_custom_middleware_exception.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_custom_route_class.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_custom_schema_fields.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_custom_swagger_ui_redirect.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_datastructures.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_datetime_custom_encoder.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_default_response_class.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_default_response_class_router.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_cache.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_class.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_contextvars.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_duplicates.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_normal_exceptions.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_overrides.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_dependency_security_overrides.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_deprecated_openapi_prefix.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_duplicate_models_openapi.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_empty_router.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_enforce_once_required_parameter.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_exception_handlers.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_extra_routes.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_fastapi_cli.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_filter_pydantic_sub_model/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_filter_pydantic_sub_model/app_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_filter_pydantic_sub_model/test_filter_pydantic_sub_model_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_filter_pydantic_sub_model_pv2.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_forms_from_non_typing_sequences.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_generate_unique_id_function.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_generic_parameterless_depends.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_get_request_body.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_http_connection_injection.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_include_route.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_include_router_defaults_overrides.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_infer_param_optionality.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_invalid_path_param.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_invalid_sequence_param.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_jsonable_encoder.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_local_docs.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_modules_same_name_body/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_modules_same_name_body/app/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_modules_same_name_body/app/a.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_modules_same_name_body/app/b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_modules_same_name_body/app/main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_modules_same_name_body/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_multi_body_errors.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_multi_query_errors.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_multipart_installation.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_no_swagger_ui_redirect.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_openapi_examples.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_openapi_query_parameter_extension.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_openapi_route_extensions.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_openapi_separate_input_output_schemas.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_openapi_servers.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_operations_signatures.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_orjson_response_class.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_param_class.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_param_in_path_and_dependency.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_param_include_in_schema.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_params_repr.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_path.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_put_no_body.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_query.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_read_with_orm_mode.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_regex_deprecated_body.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_regex_deprecated_params.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_repeated_cookie_headers.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_repeated_dependency_schema.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_repeated_parameter_alias.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_reponse_set_reponse_code_empty.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_request_body_parameters_media_type.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_required_noneable.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_by_alias.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_change_status_code.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_class_no_mediatype.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_code_no_body.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_model_as_return_annotation.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_model_data_filter.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_model_data_filter_no_inheritance.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_model_include_exclude.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_model_invalid.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_response_model_sub_types.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_route_scope.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_router_prefix_with_template.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_router_redirect_slashes.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_schema_extra_examples.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_cookie.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_cookie_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_cookie_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_header.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_header_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_header_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_query.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_query_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_api_key_query_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_base.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_base_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_base_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_basic_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_basic_realm.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_basic_realm_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_bearer.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_bearer_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_bearer_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_digest.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_digest_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_http_digest_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2_authorization_code_bearer.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2_authorization_code_bearer_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2_optional_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2_password_bearer_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_oauth2_password_bearer_optional_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_openid_connect.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_openid_connect_description.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_security_openid_connect_optional.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_serialize_response.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_serialize_response_dataclass.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_serialize_response_model.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_skip_defaults.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_starlette_exception.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_starlette_urlconvertors.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_sub_callbacks.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_swagger_ui_init_oauth.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tuples.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_responses/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_responses/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_responses/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_responses/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_responses/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_status_codes/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_status_codes/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_additional_status_codes/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_advanced_middleware/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_advanced_middleware/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_advanced_middleware/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_advanced_middleware/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_async_sql_databases/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_async_sql_databases/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_async_tests/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_async_tests/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/test_tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/test_tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_background_tasks/test_tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_behind_a_proxy/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_bigger_applications/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_bigger_applications/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_bigger_applications/test_main_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_bigger_applications/test_main_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_fields/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_fields/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_fields/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_fields/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_fields/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_fields/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_nested_models/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_nested_models/test_tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_nested_models/test_tutorial009_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_updates/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_updates/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_updates/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_body_updates/test_tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_conditional_openapi/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_conditional_openapi/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cookie_params/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cookie_params/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cookie_params/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cookie_params/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cookie_params/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cors/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_cors/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_docs_ui/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_docs_ui/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_docs_ui/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_request_and_route/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial001b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial006b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial006c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial008.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial009.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial009b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_custom_response/test_tutorial009c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dataclasses/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dataclasses/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dataclasses/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dataclasses/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial006_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial006_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008b_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008b_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008c.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008c_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008c_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008d.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008d_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial008d_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial012.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial012_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_dependencies/test_tutorial012_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_events/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_events/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_events/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_events/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extending_openapi/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extending_openapi/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_data_types/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_data_types/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_data_types/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_data_types/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_data_types/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_data_types/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/test_tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/test_tutorial004_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_extra_models/test_tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_first_steps/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_first_steps/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_generate_clients/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_generate_clients/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_handling_errors/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_header_params/test_tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_metadata/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_metadata/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_metadata/test_tutorial001_1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_metadata/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_openapi_callbacks/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_openapi_webhooks/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_openapi_webhooks/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_configurations/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_params/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_params/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_path_params/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params/test_tutorial006_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_02.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_02_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_02_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_02_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_02_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_03.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_03_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_03_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_files/test_tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms_and_files/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_change_status_code/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_change_status_code/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_cookies/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_cookies/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_cookies/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_headers/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_headers/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_headers/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_01.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_01_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_02.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_03.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_04.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_04_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_05.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_05_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial004_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_response_model/test_tutorial006_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial001_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial001_py310_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial004.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial004_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_schema_extra_example/test_tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial003_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial003_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial003_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial003_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial005.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial005_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial005_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial005_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial005_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial005_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial006.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial006_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_security/test_tutorial006_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_settings/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_settings/test_app02.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_settings/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_settings/test_tutorial001_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_sql_databases.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_testing_databases.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_testing_databases_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sql_databases/test_testing_databases_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sub_applications/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_sub_applications/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_templates/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_templates/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_main.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_main_b.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_main_b_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_main_b_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_main_b_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_main_b_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing_dependencies/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial002.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial002_an.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial002_an_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial002_an_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial002_py310.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial003.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_websockets/test_tutorial003_py39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_wsgi/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_tutorial/test_wsgi/test_tutorial001.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_typing_python39.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_union_body.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_union_inherited_body.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response_dataclass.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response_recursive/__init__.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response_recursive/app_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response_recursive/app_pv2.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response_recursive/test_validate_response_recursive_pv1.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_validate_response_recursive/test_validate_response_recursive_pv2.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_webhooks_security.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_ws_dependencies.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/test_ws_router.py +0 -0
- {fastapi-0.112.1 → fastapi-0.112.2}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastapi
|
|
3
|
-
Version: 0.112.
|
|
3
|
+
Version: 0.112.2
|
|
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
|
|
@@ -43,7 +43,7 @@ Requires-Dist: fastapi-cli[standard]>=0.0.5; extra == "standard"
|
|
|
43
43
|
Requires-Dist: httpx>=0.23.0; extra == "standard"
|
|
44
44
|
Requires-Dist: jinja2>=2.11.2; extra == "standard"
|
|
45
45
|
Requires-Dist: python-multipart>=0.0.7; extra == "standard"
|
|
46
|
-
Requires-Dist:
|
|
46
|
+
Requires-Dist: email-validator>=2.0.0; extra == "standard"
|
|
47
47
|
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "standard"
|
|
48
48
|
Requires-Dist: fastapi-cli[standard]>=0.0.5; extra == "all"
|
|
49
49
|
Requires-Dist: httpx>=0.23.0; extra == "all"
|
|
@@ -53,7 +53,7 @@ Requires-Dist: itsdangerous>=1.1.0; extra == "all"
|
|
|
53
53
|
Requires-Dist: pyyaml>=5.3.1; extra == "all"
|
|
54
54
|
Requires-Dist: ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1; extra == "all"
|
|
55
55
|
Requires-Dist: orjson>=3.2.1; extra == "all"
|
|
56
|
-
Requires-Dist:
|
|
56
|
+
Requires-Dist: email-validator>=2.0.0; extra == "all"
|
|
57
57
|
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "all"
|
|
58
58
|
Requires-Dist: pydantic-settings>=2.0.0; extra == "all"
|
|
59
59
|
Requires-Dist: pydantic-extra-types>=2.0.0; extra == "all"
|
|
@@ -195,6 +195,8 @@ FastAPI stands on the shoulders of giants:
|
|
|
195
195
|
|
|
196
196
|
## Installation
|
|
197
197
|
|
|
198
|
+
Create and activate a <a href="https://fastapi.tiangolo.com/virtual-environments/" class="external-link" target="_blank">virtual environment</a> and then install FastAPI:
|
|
199
|
+
|
|
198
200
|
<div class="termy">
|
|
199
201
|
|
|
200
202
|
```console
|
|
@@ -525,7 +527,7 @@ When you install FastAPI with `pip install "fastapi[standard]"` it comes the `st
|
|
|
525
527
|
|
|
526
528
|
Used by Pydantic:
|
|
527
529
|
|
|
528
|
-
* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>
|
|
530
|
+
* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>email-validator</code></a> - for email validation.
|
|
529
531
|
|
|
530
532
|
Used by Starlette:
|
|
531
533
|
|
|
@@ -132,6 +132,8 @@ FastAPI stands on the shoulders of giants:
|
|
|
132
132
|
|
|
133
133
|
## Installation
|
|
134
134
|
|
|
135
|
+
Create and activate a <a href="https://fastapi.tiangolo.com/virtual-environments/" class="external-link" target="_blank">virtual environment</a> and then install FastAPI:
|
|
136
|
+
|
|
135
137
|
<div class="termy">
|
|
136
138
|
|
|
137
139
|
```console
|
|
@@ -462,7 +464,7 @@ When you install FastAPI with `pip install "fastapi[standard]"` it comes the `st
|
|
|
462
464
|
|
|
463
465
|
Used by Pydantic:
|
|
464
466
|
|
|
465
|
-
* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>
|
|
467
|
+
* <a href="https://github.com/JoshData/python-email-validator" target="_blank"><code>email-validator</code></a> - for email validation.
|
|
466
468
|
|
|
467
469
|
Used by Starlette:
|
|
468
470
|
|
|
@@ -34,6 +34,6 @@ async def create_item(item: Item, x_token: Annotated[str, Header()]):
|
|
|
34
34
|
if x_token != fake_secret_token:
|
|
35
35
|
raise HTTPException(status_code=400, detail="Invalid X-Token header")
|
|
36
36
|
if item.id in fake_db:
|
|
37
|
-
raise HTTPException(status_code=
|
|
37
|
+
raise HTTPException(status_code=409, detail="Item already exists")
|
|
38
38
|
fake_db[item.id] = item
|
|
39
39
|
return item
|
|
@@ -33,6 +33,6 @@ async def create_item(item: Item, x_token: Annotated[str, Header()]):
|
|
|
33
33
|
if x_token != fake_secret_token:
|
|
34
34
|
raise HTTPException(status_code=400, detail="Invalid X-Token header")
|
|
35
35
|
if item.id in fake_db:
|
|
36
|
-
raise HTTPException(status_code=
|
|
36
|
+
raise HTTPException(status_code=409, detail="Item already exists")
|
|
37
37
|
fake_db[item.id] = item
|
|
38
38
|
return item
|
|
@@ -33,6 +33,6 @@ async def create_item(item: Item, x_token: Annotated[str, Header()]):
|
|
|
33
33
|
if x_token != fake_secret_token:
|
|
34
34
|
raise HTTPException(status_code=400, detail="Invalid X-Token header")
|
|
35
35
|
if item.id in fake_db:
|
|
36
|
-
raise HTTPException(status_code=
|
|
36
|
+
raise HTTPException(status_code=409, detail="Item already exists")
|
|
37
37
|
fake_db[item.id] = item
|
|
38
38
|
return item
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from fastapi.testclient import TestClient
|
|
2
|
+
|
|
3
|
+
from .main import app
|
|
4
|
+
|
|
5
|
+
client = TestClient(app)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def test_read_item():
|
|
9
|
+
response = client.get("/items/foo", headers={"X-Token": "coneofsilence"})
|
|
10
|
+
assert response.status_code == 200
|
|
11
|
+
assert response.json() == {
|
|
12
|
+
"id": "foo",
|
|
13
|
+
"title": "Foo",
|
|
14
|
+
"description": "There goes my hero",
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def test_read_item_bad_token():
|
|
19
|
+
response = client.get("/items/foo", headers={"X-Token": "hailhydra"})
|
|
20
|
+
assert response.status_code == 400
|
|
21
|
+
assert response.json() == {"detail": "Invalid X-Token header"}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_read_nonexistent_item():
|
|
25
|
+
response = client.get("/items/baz", headers={"X-Token": "coneofsilence"})
|
|
26
|
+
assert response.status_code == 404
|
|
27
|
+
assert response.json() == {"detail": "Item not found"}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def test_create_item():
|
|
31
|
+
response = client.post(
|
|
32
|
+
"/items/",
|
|
33
|
+
headers={"X-Token": "coneofsilence"},
|
|
34
|
+
json={"id": "foobar", "title": "Foo Bar", "description": "The Foo Barters"},
|
|
35
|
+
)
|
|
36
|
+
assert response.status_code == 200
|
|
37
|
+
assert response.json() == {
|
|
38
|
+
"id": "foobar",
|
|
39
|
+
"title": "Foo Bar",
|
|
40
|
+
"description": "The Foo Barters",
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def test_create_item_bad_token():
|
|
45
|
+
response = client.post(
|
|
46
|
+
"/items/",
|
|
47
|
+
headers={"X-Token": "hailhydra"},
|
|
48
|
+
json={"id": "bazz", "title": "Bazz", "description": "Drop the bazz"},
|
|
49
|
+
)
|
|
50
|
+
assert response.status_code == 400
|
|
51
|
+
assert response.json() == {"detail": "Invalid X-Token header"}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def test_create_existing_item():
|
|
55
|
+
response = client.post(
|
|
56
|
+
"/items/",
|
|
57
|
+
headers={"X-Token": "coneofsilence"},
|
|
58
|
+
json={
|
|
59
|
+
"id": "foo",
|
|
60
|
+
"title": "The Foo ID Stealers",
|
|
61
|
+
"description": "There goes my stealer",
|
|
62
|
+
},
|
|
63
|
+
)
|
|
64
|
+
assert response.status_code == 409
|
|
65
|
+
assert response.json() == {"detail": "Item already exists"}
|
|
@@ -1056,7 +1056,7 @@ class FastAPI(Starlette):
|
|
|
1056
1056
|
def add_api_route(
|
|
1057
1057
|
self,
|
|
1058
1058
|
path: str,
|
|
1059
|
-
endpoint: Callable[...,
|
|
1059
|
+
endpoint: Callable[..., Any],
|
|
1060
1060
|
*,
|
|
1061
1061
|
response_model: Any = Default(None),
|
|
1062
1062
|
status_code: Optional[int] = None,
|
|
@@ -342,9 +342,9 @@ def analyze_param(
|
|
|
342
342
|
if isinstance(arg, (params.Param, params.Body, params.Depends))
|
|
343
343
|
]
|
|
344
344
|
if fastapi_specific_annotations:
|
|
345
|
-
fastapi_annotation: Union[
|
|
346
|
-
|
|
347
|
-
|
|
345
|
+
fastapi_annotation: Union[FieldInfo, params.Depends, None] = (
|
|
346
|
+
fastapi_specific_annotations[-1]
|
|
347
|
+
)
|
|
348
348
|
else:
|
|
349
349
|
fastapi_annotation = None
|
|
350
350
|
if isinstance(fastapi_annotation, FieldInfo):
|
|
@@ -2343,7 +2343,7 @@ def Security( # noqa: N802
|
|
|
2343
2343
|
```python
|
|
2344
2344
|
from typing import Annotated
|
|
2345
2345
|
|
|
2346
|
-
from fastapi import
|
|
2346
|
+
from fastapi import Security, FastAPI
|
|
2347
2347
|
|
|
2348
2348
|
from .db import User
|
|
2349
2349
|
from .security import get_current_active_user
|
|
@@ -91,7 +91,7 @@ class Param(FieldInfo):
|
|
|
91
91
|
max_length=max_length,
|
|
92
92
|
discriminator=discriminator,
|
|
93
93
|
multiple_of=multiple_of,
|
|
94
|
-
|
|
94
|
+
allow_inf_nan=allow_inf_nan,
|
|
95
95
|
max_digits=max_digits,
|
|
96
96
|
decimal_places=decimal_places,
|
|
97
97
|
**extra,
|
|
@@ -547,7 +547,7 @@ class Body(FieldInfo):
|
|
|
547
547
|
max_length=max_length,
|
|
548
548
|
discriminator=discriminator,
|
|
549
549
|
multiple_of=multiple_of,
|
|
550
|
-
|
|
550
|
+
allow_inf_nan=allow_inf_nan,
|
|
551
551
|
max_digits=max_digits,
|
|
552
552
|
decimal_places=decimal_places,
|
|
553
553
|
**extra,
|
|
@@ -3,14 +3,16 @@ import dataclasses
|
|
|
3
3
|
import email.message
|
|
4
4
|
import inspect
|
|
5
5
|
import json
|
|
6
|
-
from contextlib import AsyncExitStack
|
|
6
|
+
from contextlib import AsyncExitStack, asynccontextmanager
|
|
7
7
|
from enum import Enum, IntEnum
|
|
8
8
|
from typing import (
|
|
9
9
|
Any,
|
|
10
|
+
AsyncIterator,
|
|
10
11
|
Callable,
|
|
11
12
|
Coroutine,
|
|
12
13
|
Dict,
|
|
13
14
|
List,
|
|
15
|
+
Mapping,
|
|
14
16
|
Optional,
|
|
15
17
|
Sequence,
|
|
16
18
|
Set,
|
|
@@ -67,7 +69,7 @@ from starlette.routing import (
|
|
|
67
69
|
websocket_session,
|
|
68
70
|
)
|
|
69
71
|
from starlette.routing import Mount as Mount # noqa
|
|
70
|
-
from starlette.types import ASGIApp, Lifespan, Scope
|
|
72
|
+
from starlette.types import AppType, ASGIApp, Lifespan, Scope
|
|
71
73
|
from starlette.websockets import WebSocket
|
|
72
74
|
from typing_extensions import Annotated, Doc, deprecated
|
|
73
75
|
|
|
@@ -119,6 +121,23 @@ def _prepare_response_content(
|
|
|
119
121
|
return res
|
|
120
122
|
|
|
121
123
|
|
|
124
|
+
def _merge_lifespan_context(
|
|
125
|
+
original_context: Lifespan[Any], nested_context: Lifespan[Any]
|
|
126
|
+
) -> Lifespan[Any]:
|
|
127
|
+
@asynccontextmanager
|
|
128
|
+
async def merged_lifespan(
|
|
129
|
+
app: AppType,
|
|
130
|
+
) -> AsyncIterator[Optional[Mapping[str, Any]]]:
|
|
131
|
+
async with original_context(app) as maybe_original_state:
|
|
132
|
+
async with nested_context(app) as maybe_nested_state:
|
|
133
|
+
if maybe_nested_state is None and maybe_original_state is None:
|
|
134
|
+
yield None # old ASGI compatibility
|
|
135
|
+
else:
|
|
136
|
+
yield {**(maybe_nested_state or {}), **(maybe_original_state or {})}
|
|
137
|
+
|
|
138
|
+
return merged_lifespan # type: ignore[return-value]
|
|
139
|
+
|
|
140
|
+
|
|
122
141
|
async def serialize_response(
|
|
123
142
|
*,
|
|
124
143
|
field: Optional[ModelField] = None,
|
|
@@ -454,9 +473,9 @@ class APIRoute(routing.Route):
|
|
|
454
473
|
methods = ["GET"]
|
|
455
474
|
self.methods: Set[str] = {method.upper() for method in methods}
|
|
456
475
|
if isinstance(generate_unique_id_function, DefaultPlaceholder):
|
|
457
|
-
current_generate_unique_id: Callable[
|
|
458
|
-
|
|
459
|
-
|
|
476
|
+
current_generate_unique_id: Callable[[APIRoute], str] = (
|
|
477
|
+
generate_unique_id_function.value
|
|
478
|
+
)
|
|
460
479
|
else:
|
|
461
480
|
current_generate_unique_id = generate_unique_id_function
|
|
462
481
|
self.unique_id = self.operation_id or current_generate_unique_id(self)
|
|
@@ -482,9 +501,9 @@ class APIRoute(routing.Route):
|
|
|
482
501
|
# By being a new field, no inheritance will be passed as is. A new model
|
|
483
502
|
# will always be created.
|
|
484
503
|
# TODO: remove when deprecating Pydantic v1
|
|
485
|
-
self.secure_cloned_response_field: Optional[
|
|
486
|
-
|
|
487
|
-
|
|
504
|
+
self.secure_cloned_response_field: Optional[ModelField] = (
|
|
505
|
+
create_cloned_field(self.response_field)
|
|
506
|
+
)
|
|
488
507
|
else:
|
|
489
508
|
self.response_field = None # type: ignore
|
|
490
509
|
self.secure_cloned_response_field = None
|
|
@@ -1308,6 +1327,10 @@ class APIRouter(routing.Router):
|
|
|
1308
1327
|
self.add_event_handler("startup", handler)
|
|
1309
1328
|
for handler in router.on_shutdown:
|
|
1310
1329
|
self.add_event_handler("shutdown", handler)
|
|
1330
|
+
self.lifespan_context = _merge_lifespan_context(
|
|
1331
|
+
self.lifespan_context,
|
|
1332
|
+
router.lifespan_context,
|
|
1333
|
+
)
|
|
1311
1334
|
|
|
1312
1335
|
def get(
|
|
1313
1336
|
self,
|
|
@@ -34,9 +34,9 @@ if TYPE_CHECKING: # pragma: nocover
|
|
|
34
34
|
from .routing import APIRoute
|
|
35
35
|
|
|
36
36
|
# Cache for `create_cloned_field`
|
|
37
|
-
_CLONED_TYPES_CACHE: MutableMapping[
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
_CLONED_TYPES_CACHE: MutableMapping[Type[BaseModel], Type[BaseModel]] = (
|
|
38
|
+
WeakKeyDictionary()
|
|
39
|
+
)
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
def is_body_allowed_for_status_code(status_code: Union[int, str, None]) -> bool:
|
|
@@ -47,7 +47,7 @@ dependencies = [
|
|
|
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
49
|
]
|
|
50
|
-
version = "0.112.
|
|
50
|
+
version = "0.112.2"
|
|
51
51
|
|
|
52
52
|
[project.urls]
|
|
53
53
|
Homepage = "https://github.com/fastapi/fastapi"
|
|
@@ -62,7 +62,7 @@ standard = [
|
|
|
62
62
|
"httpx >=0.23.0",
|
|
63
63
|
"jinja2 >=2.11.2",
|
|
64
64
|
"python-multipart >=0.0.7",
|
|
65
|
-
"
|
|
65
|
+
"email-validator >=2.0.0",
|
|
66
66
|
"uvicorn[standard] >=0.12.0",
|
|
67
67
|
]
|
|
68
68
|
all = [
|
|
@@ -74,7 +74,7 @@ all = [
|
|
|
74
74
|
"pyyaml >=5.3.1",
|
|
75
75
|
"ujson >=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0",
|
|
76
76
|
"orjson >=3.2.1",
|
|
77
|
-
"
|
|
77
|
+
"email-validator >=2.0.0",
|
|
78
78
|
"uvicorn[standard] >=0.12.0",
|
|
79
79
|
"pydantic-settings >=2.0.0",
|
|
80
80
|
"pydantic-extra-types >=2.0.0",
|
|
@@ -131,30 +131,35 @@ xfail_strict = true
|
|
|
131
131
|
junit_family = "xunit2"
|
|
132
132
|
filterwarnings = [
|
|
133
133
|
"error",
|
|
134
|
-
"ignore:The loop argument is deprecated since Python 3\\.8, and scheduled for removal in Python 3\\.10:DeprecationWarning:asyncio",
|
|
135
134
|
"ignore:starlette.middleware.wsgi is deprecated and will be removed in a future release\\..*:DeprecationWarning:starlette",
|
|
136
|
-
"ignore:'cgi' is deprecated:DeprecationWarning",
|
|
137
135
|
"ignore:'crypt' is deprecated and slated for removal in Python 3.13:DeprecationWarning",
|
|
138
136
|
"ignore:You seem to already have a custom.*:RuntimeWarning:trio",
|
|
139
|
-
"ignore::pytest.PytestDeprecationWarning:pytest_cov",
|
|
140
137
|
"ignore:datetime\\.datetime\\.utcfromtimestamp\\(\\) is deprecated and scheduled for removal in a future version\\..*:DeprecationWarning:sqlalchemy",
|
|
141
|
-
"ignore:datetime\\.datetime\\.utcnow\\(\\) is deprecated and scheduled for removal in a future version\\..*:DeprecationWarning:jose",
|
|
142
138
|
"ignore:The `hash` argument is deprecated*:DeprecationWarning:trio",
|
|
143
139
|
]
|
|
144
140
|
|
|
145
141
|
[tool.coverage.run]
|
|
146
142
|
parallel = true
|
|
143
|
+
data_file = "coverage/.coverage"
|
|
147
144
|
source = [
|
|
148
145
|
"docs_src",
|
|
149
146
|
"tests",
|
|
150
147
|
"fastapi",
|
|
151
148
|
]
|
|
152
149
|
context = "${CONTEXT}"
|
|
150
|
+
dynamic_context = "test_function"
|
|
153
151
|
omit = [
|
|
154
152
|
"docs_src/response_model/tutorial003_04.py",
|
|
155
153
|
"docs_src/response_model/tutorial003_04_py310.py",
|
|
156
154
|
]
|
|
157
155
|
|
|
156
|
+
[tool.coverage.report]
|
|
157
|
+
show_missing = true
|
|
158
|
+
sort = "-Cover"
|
|
159
|
+
|
|
160
|
+
[tool.coverage.html]
|
|
161
|
+
show_contexts = true
|
|
162
|
+
|
|
158
163
|
[tool.ruff.lint]
|
|
159
164
|
select = [
|
|
160
165
|
"E",
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
pytest >=7.1.3,<8.0.0
|
|
4
4
|
coverage[toml] >= 6.5.0,< 8.0
|
|
5
5
|
mypy ==1.8.0
|
|
6
|
-
ruff ==0.
|
|
6
|
+
ruff ==0.6.1
|
|
7
7
|
dirty-equals ==0.6.0
|
|
8
8
|
# TODO: once removing databases from tutorial, upgrade SQLAlchemy
|
|
9
9
|
# probably when including SQLModel
|
|
10
|
-
sqlalchemy >=1.3.18,<
|
|
10
|
+
sqlalchemy >=1.3.18,<2.0.33
|
|
11
11
|
databases[sqlite] >=0.3.2,<0.7.0
|
|
12
12
|
flask >=1.1.2,<3.0.0
|
|
13
13
|
anyio[trio] >=3.2.1,<4.0.0
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
from fastapi import Body, FastAPI, Query
|
|
3
|
+
from fastapi.testclient import TestClient
|
|
4
|
+
from typing_extensions import Annotated
|
|
5
|
+
|
|
6
|
+
app = FastAPI()
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@app.post("/")
|
|
10
|
+
async def get(
|
|
11
|
+
x: Annotated[float, Query(allow_inf_nan=True)] = 0,
|
|
12
|
+
y: Annotated[float, Query(allow_inf_nan=False)] = 0,
|
|
13
|
+
z: Annotated[float, Query()] = 0,
|
|
14
|
+
b: Annotated[float, Body(allow_inf_nan=False)] = 0,
|
|
15
|
+
) -> str:
|
|
16
|
+
return "OK"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
client = TestClient(app)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@pytest.mark.parametrize(
|
|
23
|
+
"value,code",
|
|
24
|
+
[
|
|
25
|
+
("-1", 200),
|
|
26
|
+
("inf", 200),
|
|
27
|
+
("-inf", 200),
|
|
28
|
+
("nan", 200),
|
|
29
|
+
("0", 200),
|
|
30
|
+
("342", 200),
|
|
31
|
+
],
|
|
32
|
+
)
|
|
33
|
+
def test_allow_inf_nan_param_true(value: str, code: int):
|
|
34
|
+
response = client.post(f"/?x={value}")
|
|
35
|
+
assert response.status_code == code, response.text
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@pytest.mark.parametrize(
|
|
39
|
+
"value,code",
|
|
40
|
+
[
|
|
41
|
+
("-1", 200),
|
|
42
|
+
("inf", 422),
|
|
43
|
+
("-inf", 422),
|
|
44
|
+
("nan", 422),
|
|
45
|
+
("0", 200),
|
|
46
|
+
("342", 200),
|
|
47
|
+
],
|
|
48
|
+
)
|
|
49
|
+
def test_allow_inf_nan_param_false(value: str, code: int):
|
|
50
|
+
response = client.post(f"/?y={value}")
|
|
51
|
+
assert response.status_code == code, response.text
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
@pytest.mark.parametrize(
|
|
55
|
+
"value,code",
|
|
56
|
+
[
|
|
57
|
+
("-1", 200),
|
|
58
|
+
("inf", 200),
|
|
59
|
+
("-inf", 200),
|
|
60
|
+
("nan", 200),
|
|
61
|
+
("0", 200),
|
|
62
|
+
("342", 200),
|
|
63
|
+
],
|
|
64
|
+
)
|
|
65
|
+
def test_allow_inf_nan_param_default(value: str, code: int):
|
|
66
|
+
response = client.post(f"/?z={value}")
|
|
67
|
+
assert response.status_code == code, response.text
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
@pytest.mark.parametrize(
|
|
71
|
+
"value,code",
|
|
72
|
+
[
|
|
73
|
+
("-1", 200),
|
|
74
|
+
("inf", 422),
|
|
75
|
+
("-inf", 422),
|
|
76
|
+
("nan", 422),
|
|
77
|
+
("0", 200),
|
|
78
|
+
("342", 200),
|
|
79
|
+
],
|
|
80
|
+
)
|
|
81
|
+
def test_allow_inf_nan_body(value: str, code: int):
|
|
82
|
+
response = client.post("/", json=value)
|
|
83
|
+
assert response.status_code == code, response.text
|
|
@@ -196,9 +196,9 @@ async def get_sync_context_b_bg(
|
|
|
196
196
|
tasks: BackgroundTasks, state: dict = Depends(context_b)
|
|
197
197
|
):
|
|
198
198
|
async def bg(state: dict):
|
|
199
|
-
state[
|
|
200
|
-
"sync_bg"
|
|
201
|
-
|
|
199
|
+
state["sync_bg"] = (
|
|
200
|
+
f"sync_bg set - b: {state['context_b']} - a: {state['context_a']}"
|
|
201
|
+
)
|
|
202
202
|
|
|
203
203
|
tasks.add_task(bg, state)
|
|
204
204
|
return state
|
|
@@ -36,7 +36,7 @@ def test_pydanticv2():
|
|
|
36
36
|
def return_fast_uuid():
|
|
37
37
|
asyncpg_uuid = MyUuid("a10ff360-3b1e-4984-a26f-d3ab460bdb51")
|
|
38
38
|
assert isinstance(asyncpg_uuid, uuid.UUID)
|
|
39
|
-
assert type(asyncpg_uuid)
|
|
39
|
+
assert type(asyncpg_uuid) is not uuid.UUID
|
|
40
40
|
with pytest.raises(TypeError):
|
|
41
41
|
vars(asyncpg_uuid)
|
|
42
42
|
return {"fast_uuid": asyncpg_uuid}
|
|
@@ -79,7 +79,7 @@ def test_pydanticv1():
|
|
|
79
79
|
def return_fast_uuid():
|
|
80
80
|
asyncpg_uuid = MyUuid("a10ff360-3b1e-4984-a26f-d3ab460bdb51")
|
|
81
81
|
assert isinstance(asyncpg_uuid, uuid.UUID)
|
|
82
|
-
assert type(asyncpg_uuid)
|
|
82
|
+
assert type(asyncpg_uuid) is not uuid.UUID
|
|
83
83
|
with pytest.raises(TypeError):
|
|
84
84
|
vars(asyncpg_uuid)
|
|
85
85
|
return {"fast_uuid": asyncpg_uuid}
|