fastapi 0.138.2__tar.gz → 0.139.0__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.
- {fastapi-0.138.2 → fastapi-0.139.0}/PKG-INFO +1 -1
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/__init__.py +1 -1
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/routing.py +216 -63
- {fastapi-0.138.2 → fastapi-0.139.0}/pyproject.toml +1 -1
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_frontend.py +341 -4
- {fastapi-0.138.2 → fastapi-0.139.0}/LICENSE +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/README.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs/en/docs/img/favicon.png +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_responses/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_responses/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_responses/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_responses/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_responses/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_status_codes/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_status_codes/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/additional_status_codes/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/advanced_middleware/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/advanced_middleware/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/advanced_middleware/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/advanced_middleware/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_a_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_a_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_a_py310/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_b_an_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_b_an_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_b_an_py310/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_b_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_b_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/app_b_py310/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/app_testing/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/async_tests/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/async_tests/app_a_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/async_tests/app_a_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/async_tests/app_a_py310/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/authentication_error_status_code/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/authentication_error_status_code/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/background_tasks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/background_tasks/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/background_tasks/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/background_tasks/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/behind_a_proxy/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/behind_a_proxy/tutorial001_01_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/behind_a_proxy/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/behind_a_proxy/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/behind_a_proxy/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/behind_a_proxy/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/dependencies.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/internal/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/internal/admin.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/routers/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/routers/items.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/bigger_applications/app_an_py310/routers/users.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_fields/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_fields/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_fields/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial005_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_multiple_params/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial008_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_nested_models/tutorial009_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_updates/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_updates/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/body_updates/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/conditional_openapi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/conditional_openapi/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/configure_swagger_ui/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/configure_swagger_ui/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/configure_swagger_ui/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_param_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cookie_params/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cors/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/cors/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_docs_ui/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_docs_ui/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_docs_ui/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_request_and_route/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_request_and_route/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_request_and_route/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_request_and_route/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_request_and_route/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_request_and_route/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial001b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial006b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial006c_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial008_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial009_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial009b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial009c_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/custom_response/tutorial010_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dataclasses_/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dataclasses_/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dataclasses_/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dataclasses_/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/debugging/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/debugging/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial005_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial006_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008b_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008c_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008c_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008d_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008d_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008e_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial008e_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial010_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial011_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial011_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial012_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial012_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial013_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependencies/tutorial014_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependency_testing/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependency_testing/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/dependency_testing/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/encoder/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/encoder/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/events/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/events/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/events/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/events/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extending_openapi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extending_openapi/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_data_types/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_data_types/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_data_types/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_models/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_models/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_models/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_models/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/extra_models/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/first_steps/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/first_steps/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/first_steps/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/frontend/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/generate_clients/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/generate_clients/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/generate_clients/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/generate_clients/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/generate_clients/tutorial004.js +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/generate_clients/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/graphql_/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/graphql_/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/handling_errors/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_param_models/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/header_params/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/json_base64_bytes/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/json_base64_bytes/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/metadata/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/metadata/tutorial001_1_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/metadata/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/metadata/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/metadata/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/metadata/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/middleware/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/middleware/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/openapi_callbacks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/openapi_callbacks/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/openapi_webhooks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/openapi_webhooks/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_advanced_configuration/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial002b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_operation_configuration/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/tutorial003b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial005_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial006_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/path_params_numeric_validations/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/pydantic_v1_in_v2/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/pydantic_v1_in_v2/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/pydantic_v1_in_v2/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/pydantic_v1_in_v2/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/pydantic_v1_in_v2/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial008_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial008b_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial009_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial010_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial011_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/python_types/tutorial013_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_param_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial005_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial006_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial006c_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial006c_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial007_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial008_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial008_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial009_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial009_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial010_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial010_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial011_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial011_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial012_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial012_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial013_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial013_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial014_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial014_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/query_params_str_validations/tutorial015_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial001_02_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial001_03_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial001_03_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_files/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_form_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_form_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_form_models/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_form_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_form_models/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_forms/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_forms/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_forms/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_forms_and_files/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_forms_and_files/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/request_forms_and_files/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_change_status_code/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_change_status_code/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_cookies/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_cookies/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_cookies/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_directly/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_directly/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_directly/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_headers/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_headers/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_headers/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial001_01_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial003_01_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial003_02_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial003_03_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial003_04_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial003_05_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_model/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_status_code/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_status_code/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/response_status_code/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial005_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/schema_extra_example/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial003_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial004_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial005_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial006_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial006_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial007_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/security/tutorial007_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/separate_openapi_schemas/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/separate_openapi_schemas/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/separate_openapi_schemas/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/server_sent_events/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/server_sent_events/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/server_sent_events/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/server_sent_events/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/server_sent_events/tutorial004_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/server_sent_events/tutorial005_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app01_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app01_py310/config.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app01_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_an_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_an_py310/config.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_an_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_an_py310/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_py310/config.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app02_py310/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app03_an_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app03_an_py310/config.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app03_an_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app03_py310/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app03_py310/config.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/app03_py310/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/settings/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sql_databases/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sql_databases/tutorial001_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sql_databases/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sql_databases/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sql_databases/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/static_files/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/static_files/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/stream_data/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/stream_data/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/stream_data/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/stream_json_lines/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/stream_json_lines/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/strict_content_type/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/strict_content_type/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sub_applications/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/sub_applications/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/templates/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/templates/static/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/templates/static/styles.css +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/templates/templates/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/templates/templates/item.html +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/templates/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/using_request_directly/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/using_request_directly/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/websockets_/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/websockets_/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/websockets_/tutorial002_an_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/websockets_/tutorial002_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/websockets_/tutorial003_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/wsgi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/docs_src/wsgi/tutorial001_py310.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/SKILL.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/references/dependencies.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/references/other-tools.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/references/path-operations.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/references/pydantic.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/references/responses.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/.agents/skills/fastapi/references/streaming.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/__main__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/_compat/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/_compat/shared.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/_compat/v2.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/applications.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/background.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/cli.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/concurrency.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/datastructures.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/dependencies/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/dependencies/models.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/dependencies/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/encoders.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/exception_handlers.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/exceptions.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/logger.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/asyncexitstack.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/cors.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/gzip.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/httpsredirect.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/trustedhost.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/middleware/wsgi.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/openapi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/openapi/constants.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/openapi/docs.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/openapi/models.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/openapi/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/param_functions.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/params.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/py.typed +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/requests.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/responses.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/api_key.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/base.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/http.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/oauth2.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/open_id_connect_url.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/security/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/sse.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/staticfiles.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/templating.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/testclient.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/types.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/fastapi/websockets.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/add_latest_release_date.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/contributors.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/deploy_docs_status.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/doc_parsing_utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/docs.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/format.sh +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/general-llm-prompt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/label_approved.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/lint.sh +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/notify_translations.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/people.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/cookie_param_models/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/header_param_models/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/json_base64_bytes/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/query_param_models/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/request_form_models/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/separate_openapi_schemas/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/separate_openapi_schemas/image02.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/separate_openapi_schemas/image03.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/separate_openapi_schemas/image04.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/separate_openapi_schemas/image05.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/sql_databases/image01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/playwright/sql_databases/image02.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/prepare_release.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/sponsors.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/test-cov-html.sh +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/test-cov.sh +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/test.sh +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/conftest.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/en_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_lines_number_gt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_lines_number_lt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_mermaid_not_translated.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_mermaid_translated.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_wrong_lang_code.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_wrong_lang_code_2.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_lines_number_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_mermaid.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_number_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_wrong_lang_code.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_includes/data/en_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_includes/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_includes/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_code_includes/test_number_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/en_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/translated_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/translated_doc_expected.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_complex_doc/test_compex_doc.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/en_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_level_mismatch_1.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_level_mismatch_2.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/test_header_level_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_header_permalinks/test_header_number_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_html_links/data/en_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_html_links/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_html_links/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_html_links/test_html_links_number_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/en_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/tests/test_translation_fixer/test_markdown_links/test_mkd_links_number_mismatch.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/topic_repos.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/translate.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/scripts/translation_fixer.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/benchmarks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/benchmarks/test_general_performance.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/forward_reference_type.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_properties.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_properties_bool.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_response_extra.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_bad.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_custom_model_in_callback.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_custom_validationerror.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_default_validationerror.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_response_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_router.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_additional_responses_union_duplicate_anyof.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_allow_inf_nan_in_enforcing.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_ambiguous_params.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_annotated.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_application.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_arbitrary_types.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_callable_endpoint.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_compat.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_computed_fields.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_custom_middleware_exception.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_custom_route_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_custom_schema_fields.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_custom_swagger_ui_redirect.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_datastructures.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_datetime_custom_encoder.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_default_response_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_default_response_class_router.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependencies_utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_after_yield_raise.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_after_yield_streaming.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_after_yield_websockets.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_cache.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_contextmanager.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_contextvars.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_duplicates.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_overrides.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_paramless.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_partial.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_pep695.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_security_overrides.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_wrapped.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_yield_except_httpexception.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_yield_scope.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dependency_yield_scope_websockets.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_depends_hashable.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_deprecated_openapi_prefix.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_deprecated_responses.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_dump_json_fast_path.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_duplicate_models_openapi.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_empty_router.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_enforce_once_required_parameter.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_exception_handlers.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_extra_routes.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_fastapi_cli.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_file_and_form_order_issue_9116.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_filter_pydantic_sub_model_pv2.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_form_default.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_forms_from_non_typing_sequences.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_forms_single_model.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_forms_single_param.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_generate_unique_id_function.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_generic_parameterless_depends.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_get_model_definitions_formfeed_escape.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_get_request_body.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_http_connection_injection.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_include_route.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_include_router_defaults_overrides.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_infer_param_optionality.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_inherited_custom_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_invalid_path_param.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_invalid_sequence_param.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_json_type.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_jsonable_encoder.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_list_bytes_file_order_preserved_issue_14811.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_local_docs.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_modules_same_name_body/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_modules_same_name_body/app/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_modules_same_name_body/app/a.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_modules_same_name_body/app/b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_modules_same_name_body/app/main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_modules_same_name_body/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_multi_body_errors.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_multi_query_errors.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_multipart_installation.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_no_schema_split.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_no_swagger_ui_redirect.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_cache_root_path.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_examples.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_model_description_trim_on_formfeed.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_query_parameter_extension.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_route_extensions.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_schema_type.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_separate_input_output_schemas.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_openapi_servers.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_operations_signatures.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_optional_file_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_orjson_response_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_param_class.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_param_in_path_and_dependency.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_param_include_in_schema.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_params_repr.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_path.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_prepare_release.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_put_no_body.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_pydantic_v1_error.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_pydanticv2_dataclasses_uuid_stringified_annotations.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_query.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_query_cookie_header_model_extra_params.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_read_with_orm_mode.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_regex_deprecated_body.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_regex_deprecated_params.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_repeated_cookie_headers.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_repeated_dependency_schema.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_repeated_parameter_alias.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_body_parameters_media_type.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_param_model_by_alias.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_body/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_body/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_body/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_body/test_optional_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_body/test_required_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_body/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_cookie/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_cookie/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_cookie/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_cookie/test_optional_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_cookie/test_required_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_file/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_file/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_file/test_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_file/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_file/test_required.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_file/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_form/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_form/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_form/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_form/test_optional_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_form/test_required_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_form/utils.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_header/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_header/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_header/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_header/test_optional_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_header/test_required_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_path/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_path/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_path/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_path/test_optional_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_path/test_required_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_query/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_query/test_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_query/test_optional_list.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_query/test_optional_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_request_params/test_query/test_required_str.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_required_noneable.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_by_alias.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_change_status_code.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_class_no_mediatype.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_code_no_body.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_dependency.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_as_return_annotation.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_data_filter.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_data_filter_no_inheritance.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_default_factory.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_include_exclude.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_invalid.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_model_sub_types.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_response_set_response_code_empty.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_return_none_stringified_annotations.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_route_scope.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_router_circular_import.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_router_events.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_router_include_context.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_router_prefix_with_template.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_router_redirect_slashes.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_schema_compat_pydantic_v2.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_schema_extra_examples.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_schema_ref_pydantic_v2.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_cookie.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_cookie_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_cookie_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_header.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_header_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_header_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_query.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_query_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_api_key_query_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_base.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_base_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_base_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_basic_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_basic_realm.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_basic_realm_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_bearer.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_bearer_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_bearer_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_digest.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_digest_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_http_digest_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_authorization_code_bearer.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_authorization_code_bearer_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_authorization_code_bearer_scopes_openapi.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_authorization_code_bearer_scopes_openapi_simple.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_optional_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_password_bearer_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_oauth2_password_bearer_optional_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_openid_connect.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_openid_connect_description.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_openid_connect_optional.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_scopes.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_scopes_dont_propagate.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_security_scopes_sub_dependency.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_serialize_response.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_serialize_response_dataclass.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_serialize_response_model.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_skip_defaults.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_sse.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_starlette_exception.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_starlette_urlconvertors.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_stream_bare_type.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_stream_cancellation.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_stream_json_validation_error.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_strict_content_type_app_level.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_strict_content_type_nested.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_strict_content_type_router_level.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_stringified_annotation_dependency.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_stringified_annotation_dependency_py314.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_stringified_annotations_simple.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_sub_callbacks.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_swagger_ui_escape.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_swagger_ui_init_oauth.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_top_level_security_scheme_in_openapi.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tuples.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_responses/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_responses/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_responses/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_responses/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_responses/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_status_codes/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_additional_status_codes/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_advanced_middleware/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_async_tests/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_async_tests/test_main_a.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_authentication_error_status_code/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_authentication_error_status_code/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_background_tasks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_background_tasks/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_background_tasks/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_behind_a_proxy/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001_01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_bigger_applications/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_bigger_applications/test_main.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_fields/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_fields/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_multiple_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial001_tutorial002_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial008.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_nested_models/test_tutorial009.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_updates/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_updates/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_body_updates/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_conditional_openapi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_conditional_openapi/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cookie_param_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cookie_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cookie_params/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cors/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_cors/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_docs_ui/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_docs_ui/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_docs_ui/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_request_and_route/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial001b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial002_tutorial003_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial006b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial006c.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial008.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial009.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial009b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial009c.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_custom_response/test_tutorial010.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dataclasses/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dataclasses/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dataclasses/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dataclasses/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_debugging/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_debugging/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial001_tutorial001_02.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial002_tutorial003_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial008.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial008b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial008c.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial008d.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial008e.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial010.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial011.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_dependencies/test_tutorial012.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_encoder/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_encoder/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_events/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_events/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_events/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_events/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extending_openapi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extending_openapi/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_data_types/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_data_types/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_models/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_models/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_models/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_extra_models/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_first_steps/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_first_steps/test_tutorial001_tutorial002_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_generate_clients/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_generate_clients/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_generate_clients/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_generate_clients/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_generate_clients/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_graphql/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_graphql/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_handling_errors/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_param_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_param_models/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_param_models/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_param_models/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_params/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_params/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_header_params/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_json_base64_bytes/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_json_base64_bytes/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_metadata/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_metadata/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_metadata/test_tutorial001_1.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_metadata/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_metadata/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_metadata/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_middleware/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_middleware/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_openapi_callbacks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_openapi_webhooks/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_openapi_webhooks/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial003_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/test_tutorial003b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params_numeric_validations/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial002_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial008.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial008b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial009_tutorial009b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial010.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial011.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_python_types/test_tutorial013.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_param_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_param_models/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_param_models/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial006c.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial008.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial009.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial015.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_files/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_files/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_files/test_tutorial001_02.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_files/test_tutorial001_03.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_files/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_files/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_form_models/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_form_models/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_form_models/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_forms/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_forms/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_forms_and_files/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_change_status_code/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_change_status_code/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_cookies/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_cookies/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_cookies/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_directly/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_directly/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_directly/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_headers/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_headers/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_headers/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial001_tutorial001_01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial003_01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial003_02.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial003_03.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial003_04.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial003_05.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_model/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_status_code/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_response_status_code/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_schema_extra_example/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial006.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_security/test_tutorial007.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_separate_openapi_schemas/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_server_sent_events/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_server_sent_events/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_server_sent_events/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_server_sent_events/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_server_sent_events/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_server_sent_events/test_tutorial005.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_settings/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_settings/test_app01.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_settings/test_app02.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_settings/test_app03.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_settings/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_sql_databases/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_sql_databases/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_sql_databases/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_static_files/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_static_files/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_stream_data/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_stream_data/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_stream_data/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_stream_json_lines/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_stream_json_lines/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_strict_content_type/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_strict_content_type/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_sub_applications/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_sub_applications/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_templates/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_templates/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/test_main_a.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/test_main_b.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing/test_tutorial004.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing_dependencies/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_testing_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_using_request_directly/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_using_request_directly/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_websockets/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_websockets/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_websockets/test_tutorial002.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_websockets/test_tutorial003.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_wsgi/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_tutorial/test_wsgi/test_tutorial001.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_typing_python39.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_union_body.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_union_body_discriminator.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_union_body_discriminator_annotated.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_union_forms.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_union_inherited_body.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_validate_response.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_validate_response_dataclass.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_validate_response_recursive/__init__.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_validate_response_recursive/app.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_validate_response_recursive/test_validate_response_recursive.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_validation_error_context.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_webhooks_security.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_wrapped_method_forward_reference.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_ws_dependencies.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/test_ws_router.py +0 -0
- {fastapi-0.138.2 → fastapi-0.139.0}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastapi
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.139.0
|
|
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
|
License-Expression: MIT
|
|
@@ -797,17 +797,14 @@ class APIWebSocketRoute(routing.WebSocketRoute):
|
|
|
797
797
|
self.name = get_name(endpoint) if name is None else name
|
|
798
798
|
self.dependencies = list(dependencies or [])
|
|
799
799
|
self.path_regex, self.path_format, self.param_convertors = compile_path(path)
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
self._flat_dependant = get_flat_dependant(self.dependant)
|
|
809
|
-
self._embed_body_fields = _should_embed_body_fields(
|
|
810
|
-
self._flat_dependant.body_params
|
|
800
|
+
(
|
|
801
|
+
self.dependant,
|
|
802
|
+
self._flat_dependant,
|
|
803
|
+
self._embed_body_fields,
|
|
804
|
+
) = _build_dependant_with_parameterless_dependencies(
|
|
805
|
+
path=self.path_format,
|
|
806
|
+
call=self.endpoint,
|
|
807
|
+
dependencies=self.dependencies,
|
|
811
808
|
)
|
|
812
809
|
self.app = websocket_session(
|
|
813
810
|
get_websocket_app(
|
|
@@ -827,6 +824,7 @@ class APIWebSocketRoute(routing.WebSocketRoute):
|
|
|
827
824
|
_FASTAPI_SCOPE_KEY = "fastapi"
|
|
828
825
|
_FASTAPI_EFFECTIVE_ROUTE_CONTEXT_KEY = "effective_route_context"
|
|
829
826
|
_FASTAPI_FRONTEND_PATH_KEY = "frontend_path"
|
|
827
|
+
_FASTAPI_FRONTEND_SPECIFICITY_KEY = "frontend_specificity"
|
|
830
828
|
_FASTAPI_INCLUDED_ROUTER_KEY = "included_router"
|
|
831
829
|
_effective_route_context_var: ContextVar[Any | None] = ContextVar(
|
|
832
830
|
"fastapi_effective_route_context", default=None
|
|
@@ -834,6 +832,27 @@ _effective_route_context_var: ContextVar[Any | None] = ContextVar(
|
|
|
834
832
|
_SCOPE_MISSING = object()
|
|
835
833
|
|
|
836
834
|
|
|
835
|
+
def _frontend_dependency_endpoint() -> None:
|
|
836
|
+
pass # pragma: no cover
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
def _build_dependant_with_parameterless_dependencies(
|
|
840
|
+
*,
|
|
841
|
+
path: str,
|
|
842
|
+
call: Callable[..., Any],
|
|
843
|
+
dependencies: Sequence[params.Depends],
|
|
844
|
+
) -> tuple[Dependant, Dependant, bool]:
|
|
845
|
+
dependant = get_dependant(path=path, call=call, scope="function")
|
|
846
|
+
for depends in dependencies[::-1]:
|
|
847
|
+
dependant.dependencies.insert(
|
|
848
|
+
0,
|
|
849
|
+
get_parameterless_sub_dependant(depends=depends, path=path),
|
|
850
|
+
)
|
|
851
|
+
flat_dependant = get_flat_dependant(dependant)
|
|
852
|
+
embed_body_fields = _should_embed_body_fields(flat_dependant.body_params)
|
|
853
|
+
return dependant, flat_dependant, embed_body_fields
|
|
854
|
+
|
|
855
|
+
|
|
837
856
|
class _RouteWithPath(Protocol):
|
|
838
857
|
path: str
|
|
839
858
|
|
|
@@ -861,6 +880,15 @@ def _get_scope_included_router(scope: Scope) -> Any | None:
|
|
|
861
880
|
return scope.get(_FASTAPI_SCOPE_KEY, {}).get(_FASTAPI_INCLUDED_ROUTER_KEY)
|
|
862
881
|
|
|
863
882
|
|
|
883
|
+
def _frontend_scope_specificity(scope: Scope) -> int | None:
|
|
884
|
+
specificity = scope.get(_FASTAPI_SCOPE_KEY, {}).get(
|
|
885
|
+
_FASTAPI_FRONTEND_SPECIFICITY_KEY
|
|
886
|
+
)
|
|
887
|
+
if isinstance(specificity, int):
|
|
888
|
+
return specificity
|
|
889
|
+
return None
|
|
890
|
+
|
|
891
|
+
|
|
864
892
|
def _restore_fastapi_scope_key(scope: Scope, key: str, previous: Any) -> None:
|
|
865
893
|
fastapi_scope = scope.get(_FASTAPI_SCOPE_KEY)
|
|
866
894
|
if not isinstance(fastapi_scope, dict):
|
|
@@ -1053,17 +1081,14 @@ def _populate_api_route_state(
|
|
|
1053
1081
|
route.response_fields = {}
|
|
1054
1082
|
|
|
1055
1083
|
assert callable(endpoint), "An endpoint must be a callable"
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
route._flat_dependant = get_flat_dependant(route.dependant)
|
|
1065
|
-
route._embed_body_fields = _should_embed_body_fields(
|
|
1066
|
-
route._flat_dependant.body_params
|
|
1084
|
+
(
|
|
1085
|
+
route.dependant,
|
|
1086
|
+
route._flat_dependant,
|
|
1087
|
+
route._embed_body_fields,
|
|
1088
|
+
) = _build_dependant_with_parameterless_dependencies(
|
|
1089
|
+
path=route.path_format,
|
|
1090
|
+
call=route.endpoint,
|
|
1091
|
+
dependencies=route.dependencies,
|
|
1067
1092
|
)
|
|
1068
1093
|
route.body_field = get_body_field(
|
|
1069
1094
|
flat_dependant=route._flat_dependant,
|
|
@@ -1334,6 +1359,7 @@ class _RouterIncludeContext:
|
|
|
1334
1359
|
class _EffectiveRouteContext:
|
|
1335
1360
|
original_route: BaseRoute
|
|
1336
1361
|
starlette_route: BaseRoute | None = None
|
|
1362
|
+
frontend_prefix: str = ""
|
|
1337
1363
|
path: str = ""
|
|
1338
1364
|
endpoint: Callable[..., Any] | None = None
|
|
1339
1365
|
stream_item_type: Any | None = None
|
|
@@ -1436,7 +1462,34 @@ class _EffectiveRouteContext:
|
|
|
1436
1462
|
)
|
|
1437
1463
|
return context
|
|
1438
1464
|
|
|
1465
|
+
@classmethod
|
|
1466
|
+
def from_frontend_route_group(
|
|
1467
|
+
cls,
|
|
1468
|
+
*,
|
|
1469
|
+
original_route: "_FrontendRouteGroup",
|
|
1470
|
+
include_context: _RouterIncludeContext,
|
|
1471
|
+
) -> "_EffectiveRouteContext":
|
|
1472
|
+
dependencies = [*include_context.dependencies, *original_route.dependencies]
|
|
1473
|
+
context = cls(
|
|
1474
|
+
original_route=original_route,
|
|
1475
|
+
frontend_prefix=include_context.prefix,
|
|
1476
|
+
dependencies=dependencies,
|
|
1477
|
+
dependency_overrides_provider=include_context.dependency_overrides_provider,
|
|
1478
|
+
)
|
|
1479
|
+
(
|
|
1480
|
+
context.dependant,
|
|
1481
|
+
context._flat_dependant,
|
|
1482
|
+
context._embed_body_fields,
|
|
1483
|
+
) = _build_dependant_with_parameterless_dependencies(
|
|
1484
|
+
path="",
|
|
1485
|
+
call=_frontend_dependency_endpoint,
|
|
1486
|
+
dependencies=dependencies,
|
|
1487
|
+
)
|
|
1488
|
+
return context
|
|
1489
|
+
|
|
1439
1490
|
def matches(self, scope: Scope) -> tuple[Match, Scope]:
|
|
1491
|
+
if isinstance(self.original_route, _FrontendRouteGroup):
|
|
1492
|
+
return self.original_route.matches_with_prefix(scope, self.frontend_prefix)
|
|
1440
1493
|
if not isinstance(self.original_route, APIRoute):
|
|
1441
1494
|
assert self.starlette_route is not None
|
|
1442
1495
|
return self.starlette_route.matches(scope)
|
|
@@ -1579,9 +1632,9 @@ class _IncludedRouter(BaseRoute):
|
|
|
1579
1632
|
include_context=self.include_context,
|
|
1580
1633
|
)
|
|
1581
1634
|
if isinstance(route, _FrontendRouteGroup):
|
|
1582
|
-
return _EffectiveRouteContext(
|
|
1635
|
+
return _EffectiveRouteContext.from_frontend_route_group(
|
|
1583
1636
|
original_route=route,
|
|
1584
|
-
|
|
1637
|
+
include_context=self.include_context,
|
|
1585
1638
|
)
|
|
1586
1639
|
if isinstance(route, routing.Route):
|
|
1587
1640
|
starlette_route: BaseRoute = routing.Route(
|
|
@@ -1970,28 +2023,31 @@ class _FrontendRoute(BaseRoute):
|
|
|
1970
2023
|
directory=directory, fallback=fallback, check_dir=check_dir
|
|
1971
2024
|
)
|
|
1972
2025
|
|
|
1973
|
-
def with_path(self, path: str) -> "_FrontendRoute":
|
|
1974
|
-
route = copy.copy(self)
|
|
1975
|
-
route.path = _normalize_frontend_path(path)
|
|
1976
|
-
return route
|
|
1977
|
-
|
|
1978
2026
|
def matches(self, scope: Scope) -> tuple[Match, Scope]:
|
|
2027
|
+
return self.matches_with_path(scope, self.path)
|
|
2028
|
+
|
|
2029
|
+
def matches_with_path(self, scope: Scope, path: str) -> tuple[Match, Scope]:
|
|
1979
2030
|
if scope["type"] != "http":
|
|
1980
2031
|
return Match.NONE, {}
|
|
1981
|
-
frontend_path = self._get_frontend_path(get_route_path(scope))
|
|
2032
|
+
frontend_path = self._get_frontend_path(path, get_route_path(scope))
|
|
1982
2033
|
if frontend_path is None:
|
|
1983
2034
|
return Match.NONE, {}
|
|
1984
|
-
child_scope = {
|
|
2035
|
+
child_scope = {
|
|
2036
|
+
_FASTAPI_SCOPE_KEY: {
|
|
2037
|
+
_FASTAPI_FRONTEND_PATH_KEY: frontend_path,
|
|
2038
|
+
_FASTAPI_FRONTEND_SPECIFICITY_KEY: _frontend_path_specificity(path),
|
|
2039
|
+
}
|
|
2040
|
+
}
|
|
1985
2041
|
if scope["method"] not in self.methods:
|
|
1986
2042
|
return Match.PARTIAL, child_scope
|
|
1987
2043
|
return Match.FULL, child_scope
|
|
1988
2044
|
|
|
1989
|
-
def _get_frontend_path(self, route_path: str) -> str | None:
|
|
1990
|
-
if
|
|
2045
|
+
def _get_frontend_path(self, path: str, route_path: str) -> str | None:
|
|
2046
|
+
if path == "/":
|
|
1991
2047
|
return route_path.lstrip("/")
|
|
1992
|
-
if route_path ==
|
|
2048
|
+
if route_path == path:
|
|
1993
2049
|
return ""
|
|
1994
|
-
prefix =
|
|
2050
|
+
prefix = path + "/"
|
|
1995
2051
|
if route_path.startswith(prefix):
|
|
1996
2052
|
return route_path[len(prefix) :]
|
|
1997
2053
|
return None
|
|
@@ -2004,8 +2060,24 @@ class _FrontendRoute(BaseRoute):
|
|
|
2004
2060
|
|
|
2005
2061
|
|
|
2006
2062
|
class _FrontendRouteGroup(BaseRoute):
|
|
2007
|
-
def __init__(
|
|
2063
|
+
def __init__(
|
|
2064
|
+
self,
|
|
2065
|
+
*,
|
|
2066
|
+
dependencies: Sequence[params.Depends] | None = None,
|
|
2067
|
+
dependency_overrides_provider: Any | None = None,
|
|
2068
|
+
) -> None:
|
|
2008
2069
|
self.routes: list[_FrontendRoute] = []
|
|
2070
|
+
self.dependencies = list(dependencies or [])
|
|
2071
|
+
self.dependency_overrides_provider = dependency_overrides_provider
|
|
2072
|
+
(
|
|
2073
|
+
self.dependant,
|
|
2074
|
+
self._flat_dependant,
|
|
2075
|
+
self._embed_body_fields,
|
|
2076
|
+
) = _build_dependant_with_parameterless_dependencies(
|
|
2077
|
+
path="",
|
|
2078
|
+
call=_frontend_dependency_endpoint,
|
|
2079
|
+
dependencies=self.dependencies,
|
|
2080
|
+
)
|
|
2009
2081
|
|
|
2010
2082
|
def add_frontend_route(
|
|
2011
2083
|
self,
|
|
@@ -2024,51 +2096,116 @@ class _FrontendRouteGroup(BaseRoute):
|
|
|
2024
2096
|
)
|
|
2025
2097
|
)
|
|
2026
2098
|
|
|
2027
|
-
def with_prefix(self, prefix: str) -> "_FrontendRouteGroup":
|
|
2028
|
-
route_group = copy.copy(self)
|
|
2029
|
-
route_group.routes = [
|
|
2030
|
-
route.with_path(_join_frontend_paths(prefix, route.path))
|
|
2031
|
-
for route in self.routes
|
|
2032
|
-
]
|
|
2033
|
-
return route_group
|
|
2034
|
-
|
|
2035
2099
|
def matches(self, scope: Scope) -> tuple[Match, Scope]:
|
|
2036
|
-
match, child_scope, _ = self._match(scope)
|
|
2100
|
+
match, child_scope, _ = self._match(scope, prefix="")
|
|
2037
2101
|
return match, child_scope
|
|
2038
2102
|
|
|
2039
|
-
def
|
|
2040
|
-
|
|
2041
|
-
|
|
2103
|
+
def matches_with_prefix(self, scope: Scope, prefix: str) -> tuple[Match, Scope]:
|
|
2104
|
+
match, child_scope, _ = self._match(scope, prefix=prefix)
|
|
2105
|
+
return match, child_scope
|
|
2106
|
+
|
|
2107
|
+
def _match(
|
|
2108
|
+
self, scope: Scope, *, prefix: str
|
|
2109
|
+
) -> tuple[Match, Scope, _FrontendRoute | None]:
|
|
2110
|
+
full: tuple[Scope, _FrontendRoute, int] | None = None
|
|
2111
|
+
partial: tuple[Scope, _FrontendRoute, int] | None = None
|
|
2042
2112
|
for route in self.routes:
|
|
2043
|
-
|
|
2113
|
+
path = _join_frontend_paths(prefix, route.path)
|
|
2114
|
+
match, child_scope = route.matches_with_path(scope, path)
|
|
2115
|
+
specificity = _frontend_path_specificity(path)
|
|
2044
2116
|
if match == Match.FULL:
|
|
2045
|
-
if full is None or
|
|
2046
|
-
route
|
|
2047
|
-
) > _frontend_path_specificity(full[1].path):
|
|
2048
|
-
full = (child_scope, route)
|
|
2117
|
+
if full is None or specificity > full[2]:
|
|
2118
|
+
full = (child_scope, route, specificity)
|
|
2049
2119
|
elif match == Match.PARTIAL:
|
|
2050
|
-
if partial is None or
|
|
2051
|
-
route
|
|
2052
|
-
) > _frontend_path_specificity(partial[1].path):
|
|
2053
|
-
partial = (child_scope, route)
|
|
2120
|
+
if partial is None or specificity > partial[2]:
|
|
2121
|
+
partial = (child_scope, route, specificity)
|
|
2054
2122
|
if full is not None:
|
|
2055
|
-
child_scope, route = full
|
|
2123
|
+
child_scope, route, _ = full
|
|
2056
2124
|
return Match.FULL, child_scope, route
|
|
2057
2125
|
if partial is not None:
|
|
2058
|
-
child_scope, route = partial
|
|
2126
|
+
child_scope, route, _ = partial
|
|
2059
2127
|
return Match.PARTIAL, child_scope, route
|
|
2060
2128
|
return Match.NONE, {}, None
|
|
2061
2129
|
|
|
2062
2130
|
async def handle(self, scope: Scope, receive: Receive, send: Send) -> None:
|
|
2063
|
-
|
|
2131
|
+
effective_context = _get_scope_effective_route_context(scope)
|
|
2132
|
+
if (
|
|
2133
|
+
isinstance(effective_context, _EffectiveRouteContext)
|
|
2134
|
+
and effective_context.original_route is self
|
|
2135
|
+
):
|
|
2136
|
+
prefix = effective_context.frontend_prefix
|
|
2137
|
+
dependant = effective_context.dependant
|
|
2138
|
+
dependency_overrides_provider = (
|
|
2139
|
+
effective_context.dependency_overrides_provider
|
|
2140
|
+
)
|
|
2141
|
+
embed_body_fields = effective_context._embed_body_fields
|
|
2142
|
+
else:
|
|
2143
|
+
prefix = ""
|
|
2144
|
+
dependant = self.dependant
|
|
2145
|
+
dependency_overrides_provider = self.dependency_overrides_provider
|
|
2146
|
+
embed_body_fields = self._embed_body_fields
|
|
2147
|
+
match, child_scope, route = self._match(scope, prefix=prefix)
|
|
2064
2148
|
if match == Match.NONE or route is None:
|
|
2065
2149
|
raise HTTPException(status_code=404)
|
|
2066
2150
|
_update_scope(scope, child_scope)
|
|
2151
|
+
if match == Match.FULL and dependant and dependant.dependencies:
|
|
2152
|
+
async with self._solve_dependencies(
|
|
2153
|
+
scope,
|
|
2154
|
+
receive,
|
|
2155
|
+
send,
|
|
2156
|
+
dependant=dependant,
|
|
2157
|
+
dependency_overrides_provider=dependency_overrides_provider,
|
|
2158
|
+
embed_body_fields=embed_body_fields,
|
|
2159
|
+
):
|
|
2160
|
+
await route.handle(scope, receive, send)
|
|
2161
|
+
return
|
|
2067
2162
|
await route.handle(scope, receive, send)
|
|
2068
2163
|
|
|
2069
2164
|
def url_path_for(self, name: str, /, **path_params: Any) -> URLPath:
|
|
2070
2165
|
raise NoMatchFound(name, path_params)
|
|
2071
2166
|
|
|
2167
|
+
# TODO: probably move this out of the Route / Route Group, same in APIRoute
|
|
2168
|
+
# this should probably be top level FastAPI logic, not part of APIRoute and
|
|
2169
|
+
# duplicated here
|
|
2170
|
+
@asynccontextmanager
|
|
2171
|
+
async def _solve_dependencies(
|
|
2172
|
+
self,
|
|
2173
|
+
scope: Scope,
|
|
2174
|
+
receive: Receive,
|
|
2175
|
+
send: Send,
|
|
2176
|
+
*,
|
|
2177
|
+
dependant: Dependant,
|
|
2178
|
+
dependency_overrides_provider: Any | None,
|
|
2179
|
+
embed_body_fields: bool,
|
|
2180
|
+
) -> AsyncIterator[None]:
|
|
2181
|
+
request = Request(scope, receive, send)
|
|
2182
|
+
previous_inner_astack = scope.get("fastapi_inner_astack", _SCOPE_MISSING)
|
|
2183
|
+
previous_function_astack = scope.get("fastapi_function_astack", _SCOPE_MISSING)
|
|
2184
|
+
try:
|
|
2185
|
+
async with AsyncExitStack() as request_stack:
|
|
2186
|
+
scope["fastapi_inner_astack"] = request_stack
|
|
2187
|
+
async with AsyncExitStack() as function_stack:
|
|
2188
|
+
scope["fastapi_function_astack"] = function_stack
|
|
2189
|
+
solved_result = await solve_dependencies(
|
|
2190
|
+
request=request,
|
|
2191
|
+
dependant=dependant,
|
|
2192
|
+
dependency_overrides_provider=dependency_overrides_provider,
|
|
2193
|
+
async_exit_stack=request_stack,
|
|
2194
|
+
embed_body_fields=embed_body_fields,
|
|
2195
|
+
)
|
|
2196
|
+
if solved_result.errors:
|
|
2197
|
+
raise RequestValidationError(solved_result.errors)
|
|
2198
|
+
yield
|
|
2199
|
+
finally:
|
|
2200
|
+
if previous_inner_astack is _SCOPE_MISSING:
|
|
2201
|
+
scope.pop("fastapi_inner_astack", None)
|
|
2202
|
+
else:
|
|
2203
|
+
scope["fastapi_inner_astack"] = previous_inner_astack
|
|
2204
|
+
if previous_function_astack is _SCOPE_MISSING:
|
|
2205
|
+
scope.pop("fastapi_function_astack", None)
|
|
2206
|
+
else:
|
|
2207
|
+
scope["fastapi_function_astack"] = previous_function_astack
|
|
2208
|
+
|
|
2072
2209
|
|
|
2073
2210
|
class APIRouter(routing.Router):
|
|
2074
2211
|
"""
|
|
@@ -2515,7 +2652,10 @@ class APIRouter(routing.Router):
|
|
|
2515
2652
|
"""
|
|
2516
2653
|
normalized_path = _normalize_frontend_path(path)
|
|
2517
2654
|
if self._frontend_routes is None:
|
|
2518
|
-
self._frontend_routes = _FrontendRouteGroup(
|
|
2655
|
+
self._frontend_routes = _FrontendRouteGroup(
|
|
2656
|
+
dependencies=self.dependencies,
|
|
2657
|
+
dependency_overrides_provider=self.dependency_overrides_provider,
|
|
2658
|
+
)
|
|
2519
2659
|
self._low_priority_routes.append(self._frontend_routes)
|
|
2520
2660
|
self._frontend_routes.add_frontend_route(
|
|
2521
2661
|
_join_frontend_paths(self.prefix, normalized_path),
|
|
@@ -2650,10 +2790,14 @@ class APIRouter(routing.Router):
|
|
|
2650
2790
|
match, child_scope = candidate.matches(scope)
|
|
2651
2791
|
route = candidate
|
|
2652
2792
|
if match == Match.FULL:
|
|
2653
|
-
if full is None
|
|
2793
|
+
if full is None or self._frontend_match_is_more_specific(
|
|
2794
|
+
child_scope, full[0]
|
|
2795
|
+
):
|
|
2654
2796
|
full = (child_scope, route, route_context)
|
|
2655
2797
|
elif match == Match.PARTIAL:
|
|
2656
|
-
if partial is None
|
|
2798
|
+
if partial is None or self._frontend_match_is_more_specific(
|
|
2799
|
+
child_scope, partial[0]
|
|
2800
|
+
):
|
|
2657
2801
|
partial = (child_scope, route, route_context)
|
|
2658
2802
|
if full is not None:
|
|
2659
2803
|
child_scope, route, route_context = full
|
|
@@ -2663,6 +2807,15 @@ class APIRouter(routing.Router):
|
|
|
2663
2807
|
return Match.PARTIAL, child_scope, route, route_context
|
|
2664
2808
|
return Match.NONE, {}, None, None
|
|
2665
2809
|
|
|
2810
|
+
def _frontend_match_is_more_specific(
|
|
2811
|
+
self, child_scope: Scope, previous_child_scope: Scope
|
|
2812
|
+
) -> bool:
|
|
2813
|
+
specificity = _frontend_scope_specificity(child_scope)
|
|
2814
|
+
previous_specificity = _frontend_scope_specificity(previous_child_scope)
|
|
2815
|
+
if specificity is None or previous_specificity is None:
|
|
2816
|
+
return False
|
|
2817
|
+
return specificity > previous_specificity
|
|
2818
|
+
|
|
2666
2819
|
def route(
|
|
2667
2820
|
self,
|
|
2668
2821
|
path: str,
|