fastapi 0.161.1__tar.gz → 0.162.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.161.1 → fastapi-0.162.0}/PKG-INFO +1 -1
- fastapi-0.162.0/docs_src/request_forms/tutorial002_an_py310.py +10 -0
- fastapi-0.162.0/docs_src/request_forms/tutorial002_py310.py +8 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/__init__.py +1 -1
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/dependencies/utils.py +3 -20
- {fastapi-0.161.1 → fastapi-0.162.0}/pyproject.toml +1 -1
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_multiple_models.py +3 -3
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_multiple_unions.py +2 -2
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_optional_models.py +6 -6
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_optional_unions.py +2 -2
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/test_nullable_and_defaults.py +70 -68
- fastapi-0.162.0/tests/test_tutorial/test_request_forms/test_tutorial002.py +22 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_union_form_normalization.py +98 -8
- {fastapi-0.161.1 → fastapi-0.162.0}/LICENSE +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/README.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs/en/docs/img/favicon.png +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_responses/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_responses/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_responses/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_responses/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_responses/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_status_codes/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_status_codes/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/additional_status_codes/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/advanced_middleware/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/advanced_middleware/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/advanced_middleware/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/advanced_middleware/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_a_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_a_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_a_py310/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_b_an_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_b_an_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_b_an_py310/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_b_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_b_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/app_b_py310/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/app_testing/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/async_tests/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/async_tests/app_a_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/async_tests/app_a_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/async_tests/app_a_py310/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/authentication_error_status_code/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/authentication_error_status_code/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/background_tasks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/background_tasks/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/background_tasks/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/background_tasks/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/behind_a_proxy/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial001_01_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/dependencies.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/internal/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/internal/admin.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/routers/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/routers/items.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/routers/users.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_fields/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_fields/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_fields/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial008_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial009_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_updates/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_updates/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/body_updates/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/conditional_openapi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/conditional_openapi/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/configure_swagger_ui/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/configure_swagger_ui/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/configure_swagger_ui/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cookie_params/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cors/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/cors/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_docs_ui/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_docs_ui/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_docs_ui/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_request_and_route/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial001b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial006b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial006c_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial008_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial009_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial009b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial009c_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/custom_response/tutorial010_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dataclasses_/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dataclasses_/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dataclasses_/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dataclasses_/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/debugging/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/debugging/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial006_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008b_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008c_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008c_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008d_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008d_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008e_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial008e_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial010_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial011_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial011_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial012_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial012_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial013_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependencies/tutorial014_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependency_testing/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependency_testing/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/dependency_testing/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/encoder/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/encoder/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/events/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/events/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/events/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/events/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extending_openapi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extending_openapi/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_data_types/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_data_types/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_data_types/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_models/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_models/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_models/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_models/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/extra_models/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/first_steps/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/first_steps/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/first_steps/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/frontend/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/generate_clients/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/generate_clients/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/generate_clients/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/generate_clients/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/generate_clients/tutorial004.js +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/generate_clients/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/graphql_/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/graphql_/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/handling_errors/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_param_models/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/header_params/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/json_base64_bytes/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/json_base64_bytes/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/metadata/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/metadata/tutorial001_1_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/metadata/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/metadata/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/metadata/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/metadata/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/middleware/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/middleware/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/openapi_callbacks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/openapi_callbacks/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/openapi_webhooks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/openapi_webhooks/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/opentelemetry/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/opentelemetry/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/opentelemetry/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial002b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/tutorial003b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial006_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial008_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial008b_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial009_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial010_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial011_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/python_types/tutorial013_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_param_models/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006c_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006c_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial007_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial008_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial008_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial009_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial009_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial010_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial010_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial011_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial011_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial012_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial012_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial013_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial013_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial014_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial014_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial015_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial001_02_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial001_03_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial001_03_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_files/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial006_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial007_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_form_models/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_forms/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_forms/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_forms/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_forms_and_files/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_forms_and_files/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/request_forms_and_files/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_change_status_code/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_change_status_code/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_cookies/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_cookies/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_cookies/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_directly/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_directly/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_directly/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_headers/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_headers/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_headers/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial001_01_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial003_01_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial003_02_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial003_03_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial003_04_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial003_05_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_model/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_status_code/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_status_code/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/response_status_code/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial003_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial004_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial005_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial006_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial006_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial007_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/security/tutorial007_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/separate_openapi_schemas/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/separate_openapi_schemas/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/separate_openapi_schemas/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/server_sent_events/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial004_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial005_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app01_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app01_py310/config.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app01_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/config.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_py310/config.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app02_py310/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app03_an_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app03_an_py310/config.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app03_an_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app03_py310/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app03_py310/config.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/app03_py310/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/settings/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sql_databases/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sql_databases/tutorial001_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sql_databases/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sql_databases/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sql_databases/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/static_files/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/static_files/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/stream_data/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/stream_data/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/stream_data/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/stream_json_lines/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/stream_json_lines/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/strict_content_type/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/strict_content_type/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sub_applications/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/sub_applications/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/static/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/static/styles.css +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/templates/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/templates/item.html +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/templates/item_path.html +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/templates/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/using_request_directly/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/using_request_directly/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/websockets_/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/websockets_/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/websockets_/tutorial002_an_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/websockets_/tutorial002_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/websockets_/tutorial003_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/wsgi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/docs_src/wsgi/tutorial001_py310.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/SKILL.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/references/dependencies.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/references/other-tools.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/references/path-operations.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/references/pydantic.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/references/responses.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/.agents/skills/fastapi/references/streaming.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/__main__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/_compat/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/_compat/shared.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/_compat/v2.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/applications.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/background.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/cli.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/concurrency.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/datastructures.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/dependencies/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/dependencies/models.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/encoders.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/exception_handlers.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/exceptions.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/logger.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/asyncexitstack.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/cors.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/gzip.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/httpsredirect.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/trustedhost.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/middleware/wsgi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/openapi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/openapi/constants.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/openapi/docs.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/openapi/models.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/openapi/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/param_functions.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/params.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/py.typed +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/requests.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/responses.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/routing.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/api_key.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/base.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/http.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/oauth2.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/open_id_connect_url.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/security/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/sse.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/staticfiles.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/telemetry/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/telemetry/_api.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/telemetry/_asgi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/telemetry/_runtime.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/templating.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/testclient.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/types.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/fastapi/websockets.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/add_latest_release_date.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/deploy_docs_status.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/doc_parsing_utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/docs.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/format.sh +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/general-llm-prompt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/lint.sh +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/cookie_param_models/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/header_param_models/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/json_base64_bytes/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/query_param_models/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/request_form_models/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image02.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image03.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image04.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image05.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/sql_databases/image01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/playwright/sql_databases/image02.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/prepare_release.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/sponsors.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/test-cov-html.sh +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/test-cov.sh +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/test.sh +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/conftest.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/en_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_lines_number_gt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_lines_number_lt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_mermaid_not_translated.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_mermaid_translated.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_wrong_lang_code.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_wrong_lang_code_2.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_lines_number_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_mermaid.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_number_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_wrong_lang_code.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/data/en_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/test_number_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/en_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/translated_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/translated_doc_expected.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/test_compex_doc.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/en_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_level_mismatch_1.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_level_mismatch_2.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/test_header_level_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/test_header_number_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/data/en_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/test_html_links_number_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/en_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/test_mkd_links_number_mismatch.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/topic_repos.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/translate.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/translation_fixer.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/scripts/translation_git.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/benchmarks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/benchmarks/test_general_performance.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/benchmarks/test_openapi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/benchmarks/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/forward_reference_type.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/memory_benchmarks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/memory_benchmarks/test_dependency_graph.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/memory_benchmarks/test_openapi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/memory_benchmarks/test_route_dependency_graph.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_properties.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_properties_bool.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_response_extra.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_bad.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_custom_model_in_callback.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_custom_validationerror.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_default_validationerror.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_response_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_router.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_additional_responses_union_duplicate_anyof.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_allow_inf_nan_in_enforcing.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_ambiguous_params.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_annotated.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_application.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_arbitrary_types.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_body_alias_choices.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_callable_endpoint.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_compat.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_computed_fields.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_custom_middleware_exception.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_custom_route_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_custom_schema_fields.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_custom_swagger_ui_redirect.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_datastructures.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_datetime_custom_encoder.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_default_response_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_default_response_class_router.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependencies_utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_after_yield_raise.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_after_yield_streaming.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_after_yield_websockets.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_cache.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_contextmanager.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_contextvars.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_duplicates.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_models.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_overrides.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_paramless.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_partial.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_pep695.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_security_overrides.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_wrapped.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_yield_except_httpexception.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_yield_scope.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dependency_yield_scope_websockets.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_depends_hashable.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_deprecated_responses.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_dump_json_fast_path.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_duplicate_models_openapi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_empty_router.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_enforce_once_required_parameter.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_exception_handlers.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_extra_routes.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_fastapi_cli.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_file_and_form_order_issue_9116.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_filter_pydantic_sub_model_pv2.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_form_default.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_from_non_typing_sequences.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_single_model.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_forms_single_param.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_frontend.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_generate_unique_id_function.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_generic_parameterless_depends.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_get_model_definitions_formfeed_escape.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_get_request_body.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_header_cookie_alias_choices.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_header_cookie_optional_models.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_http_connection_injection.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_include_route.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_include_router_defaults_overrides.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_infer_param_optionality.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_inherited_custom_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_invalid_path_param.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_invalid_sequence_param.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_json_type.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_jsonable_encoder.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_list_bytes_file_order_preserved_issue_14811.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_local_docs.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_modules_same_name_body/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/a.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_modules_same_name_body/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_multi_body_errors.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_multi_query_errors.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_multipart_installation.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_multiple_parameter_models.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_nested_annotated_in_sequence.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_no_schema_split.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_no_swagger_ui_redirect.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_cache_root_path.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_examples.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_model_description_trim_on_formfeed.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_query_parameter_extension.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_route_extensions.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_schema_type.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_separate_input_output_schemas.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_openapi_servers.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_operations_signatures.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_optional_file_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_orjson_response_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_param_class.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_param_in_path_and_dependency.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_param_include_in_schema.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_params_repr.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_path.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_path_alias_choices.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_prepare_release.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_put_no_body.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_pydantic_v1_error.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_pydanticv2_dataclasses_uuid_stringified_annotations.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_query.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_query_alias_choices.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_query_cookie_header_model_extra_params.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_query_optional_models.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_read_with_orm_mode.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_regex_deprecated_body.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_regex_deprecated_params.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_repeated_cookie_headers.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_repeated_dependency_schema.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_repeated_parameter_alias.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_body_parameters_media_type.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_param_model_by_alias.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/test_nullable_and_defaults.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/test_optional_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/test_required_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_body/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_cookie/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_optional_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_required_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_default_validation.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_field_metadata.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_field_options.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/test_nullable_and_defaults.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/test_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/test_required.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_file/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/test_optional_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/test_required_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_form/utils.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_header/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_header/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_header/test_nullable_and_defaults.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_header/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_header/test_optional_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_header/test_required_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_nullable_and_defaults.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_path/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_path/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_path/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_path/test_optional_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_path/test_required_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_query/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_query/test_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_query/test_optional_list.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_query/test_optional_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_request_params/test_query/test_required_str.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_required_noneable.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_by_alias.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_change_status_code.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_class_no_mediatype.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_code_no_body.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_dependency.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_as_return_annotation.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_data_filter.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_data_filter_no_inheritance.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_default_factory.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_include_exclude.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_invalid.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_model_sub_types.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_response_set_response_code_empty.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_return_none_stringified_annotations.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_route_handler_wrapping.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_route_scope.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_router_circular_import.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_router_events.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_router_include_context.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_router_prefix_with_template.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_router_redirect_slashes.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_schema_compat_pydantic_v2.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_schema_extra_examples.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_schema_ref_pydantic_v2.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_cookie.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_cookie_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_cookie_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_header.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_header_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_header_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_query.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_query_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_api_key_query_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_base.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_base_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_base_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_basic_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_basic_realm.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_basic_realm_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_bearer.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_bearer_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_bearer_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_digest.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_digest_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_http_digest_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer_scopes_openapi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer_scopes_openapi_simple.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_optional_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_password_bearer_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_oauth2_password_bearer_optional_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_openid_connect.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_openid_connect_description.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_openid_connect_optional.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_scopes.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_scopes_dont_propagate.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_scopes_sub_dependency.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_security_websockets.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_serialize_response.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_serialize_response_dataclass.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_serialize_response_model.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_skip_defaults.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_sse.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_starlette_exception.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_starlette_urlconvertors.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stream_bare_type.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stream_cancellation.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stream_json_validation_error.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stream_non_finite_floats.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stream_status_code.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_strict_content_type_app_level.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_strict_content_type_nested.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_strict_content_type_router_level.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stringified_annotation_dependency.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stringified_annotation_dependency_py314.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_stringified_annotations_simple.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_sub_callbacks.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_swagger_ui_escape.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_swagger_ui_init_oauth.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/_otlp.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/_subprocess.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/conftest.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_background.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_data.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_environment_integrations.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_exceptions.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_http.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_integrations.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_native_integrations.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_operations.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_runtime.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_semantic_conventions.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_tracer.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_telemetry/test_websockets.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_top_level_security_scheme_in_openapi.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_translate.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tuples.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_status_codes/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_additional_status_codes/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_async_tests/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_async_tests/test_main_a.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_authentication_error_status_code/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_authentication_error_status_code/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_background_tasks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_background_tasks/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_background_tasks/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001_01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_bigger_applications/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_bigger_applications/test_main.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_fields/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_fields/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial001_tutorial002_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial008.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial009.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_updates/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_updates/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_body_updates/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_conditional_openapi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_conditional_openapi/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_param_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_params/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cors/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_cors/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_docs_ui/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_docs_ui/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_docs_ui/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial001b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial002_tutorial003_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial006b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial006c.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial008.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial009.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial009b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial009c.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial010.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_debugging/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_debugging/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial001_tutorial001_02.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial002_tutorial003_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008c.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008d.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008e.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial010.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial011.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial012.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_encoder/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_encoder/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_events/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_events/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_events/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_events/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extending_openapi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extending_openapi/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_data_types/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_data_types/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_first_steps/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_first_steps/test_tutorial001_tutorial002_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_graphql/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_graphql/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_param_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_param_models/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_param_models/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_param_models/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_param_models/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_json_base64_bytes/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_json_base64_bytes/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial001_1.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_middleware/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_middleware/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_openapi_callbacks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_openapi_webhooks/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_openapi_webhooks/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_opentelemetry/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_opentelemetry/conftest.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_opentelemetry/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_opentelemetry/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_opentelemetry/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial003_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial003b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial002_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial008.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial008b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial009_tutorial009b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial010.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial011.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial013.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial006c.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial008.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial009.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial015.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial001_02.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial001_03.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_forms/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_forms/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_forms_and_files/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_change_status_code/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_change_status_code/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_cookies/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_cookies/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_cookies/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_directly/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_directly/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_directly/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_headers/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_headers/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_headers/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial001_tutorial001_01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_02.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_03.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_04.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_05.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_status_code/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_response_status_code/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial006.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial007.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_separate_openapi_schemas/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial005.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_settings/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_app01.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_app02.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_app03.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_sql_databases/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_sql_databases/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_sql_databases/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_static_files/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_static_files/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_stream_data/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_stream_data/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_stream_data/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_stream_json_lines/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_stream_json_lines/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_strict_content_type/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_strict_content_type/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_sub_applications/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_sub_applications/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_templates/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_templates/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_templates/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_main_a.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_main_b.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial004.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing_dependencies/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_testing_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_using_request_directly/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_using_request_directly/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/test_tutorial002.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/test_tutorial003.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_wsgi/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_tutorial/test_wsgi/test_tutorial001.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_typing_python39.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_union_body.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_union_body_discriminator.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_union_body_discriminator_annotated.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_union_forms.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_union_inherited_body.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_upload_file_read_position.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_validate_response.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_validate_response_dataclass.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_validate_response_recursive/__init__.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_validate_response_recursive/app.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_validate_response_recursive/test_validate_response_recursive.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_validation_error_context.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_webhooks_security.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_wrapped_method_forward_reference.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_ws_dependencies.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/test_ws_router.py +0 -0
- {fastapi-0.161.1 → fastapi-0.162.0}/tests/utils.py +0 -0
|
@@ -1071,26 +1071,9 @@ def _extract_form_items(
|
|
|
1071
1071
|
field_aliases: set[str] = set()
|
|
1072
1072
|
|
|
1073
1073
|
for field in body_fields:
|
|
1074
|
-
|
|
1075
|
-
has_alias_path = isinstance(validation_alias, AliasPath) or (
|
|
1076
|
-
isinstance(validation_alias, AliasChoices)
|
|
1077
|
-
and any(
|
|
1078
|
-
isinstance(choice, AliasPath) for choice in validation_alias.choices
|
|
1079
|
-
)
|
|
1080
|
-
)
|
|
1081
|
-
aliases = [alias for alias, _ in _get_param_aliases(field)]
|
|
1082
|
-
# Interpret missing boolean form fields as unchecked HTML checkboxes.
|
|
1083
|
-
infer_false_if_missing = (
|
|
1084
|
-
not has_alias_path
|
|
1085
|
-
and field.field_info.annotation in (bool, bool | None)
|
|
1086
|
-
and not any(alias in received_body for alias in aliases)
|
|
1087
|
-
)
|
|
1088
|
-
for alias in aliases:
|
|
1074
|
+
for alias, _ in _get_param_aliases(field):
|
|
1089
1075
|
field_aliases.add(alias)
|
|
1090
|
-
|
|
1091
|
-
value: Any = False
|
|
1092
|
-
else:
|
|
1093
|
-
value = _get_multidict_value(field, received_body, alias=alias)
|
|
1076
|
+
value = _get_multidict_value(field, received_body, alias=alias)
|
|
1094
1077
|
if value is not Undefined:
|
|
1095
1078
|
yield alias, value, field
|
|
1096
1079
|
# Leave later aliases unchanged for other fields or extra validation.
|
|
@@ -1141,7 +1124,7 @@ def _is_form_model_supplied(
|
|
|
1141
1124
|
model: type[BaseModel],
|
|
1142
1125
|
received_body: FormData,
|
|
1143
1126
|
) -> bool:
|
|
1144
|
-
# Check raw keys before empty fields are removed
|
|
1127
|
+
# Check raw keys before empty fields are removed.
|
|
1145
1128
|
own_names = {
|
|
1146
1129
|
alias
|
|
1147
1130
|
for item in get_cached_model_fields(model)
|
|
@@ -232,7 +232,7 @@ def test_composed_form_models_forbid_extras(multipart, path):
|
|
|
232
232
|
assert models["Preferences"]["additionalProperties"] is False
|
|
233
233
|
|
|
234
234
|
|
|
235
|
-
def
|
|
235
|
+
def test_model_defaults_and_validators_are_independent():
|
|
236
236
|
app = FastAPI()
|
|
237
237
|
inputs = []
|
|
238
238
|
|
|
@@ -274,9 +274,9 @@ def test_model_defaults_checkboxes_and_validators_are_independent():
|
|
|
274
274
|
response = client.post("/")
|
|
275
275
|
assert response.status_code == 200, response.text
|
|
276
276
|
assert response.json() == {
|
|
277
|
-
"settings": {"label": "default", "enabled":
|
|
277
|
+
"settings": {"label": "default", "enabled": True, "tags": []},
|
|
278
278
|
"other": {"label": "other", "enabled": "other"},
|
|
279
|
-
"fields_set": [
|
|
279
|
+
"fields_set": [],
|
|
280
280
|
"other_fields_set": [],
|
|
281
281
|
}
|
|
282
282
|
response = client.post(
|
|
@@ -18,7 +18,7 @@ class Person(BaseModel):
|
|
|
18
18
|
kind: Literal["person"] = Field(alias="contact_type")
|
|
19
19
|
name: str
|
|
20
20
|
tags: list[str] = Field(default_factory=list)
|
|
21
|
-
enabled: bool =
|
|
21
|
+
enabled: bool = False
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class Company(BaseModel):
|
|
@@ -704,7 +704,7 @@ def test_json_and_original_model_schemas_are_unchanged():
|
|
|
704
704
|
json={"contact": {"contact_type": "person", "name": "Rick"}, "token": "secret"},
|
|
705
705
|
)
|
|
706
706
|
assert response.status_code == 200, response.text
|
|
707
|
-
assert response.json()["enabled"] is
|
|
707
|
+
assert response.json()["enabled"] is False
|
|
708
708
|
schemas = app.openapi()["components"]["schemas"]
|
|
709
709
|
assert set(schemas["Person"]["properties"]) == {
|
|
710
710
|
"contact_type",
|
|
@@ -22,7 +22,7 @@ def test_optional_form_model():
|
|
|
22
22
|
name: str
|
|
23
23
|
age: int
|
|
24
24
|
tags: list[str] = Field(default_factory=list)
|
|
25
|
-
enabled: bool =
|
|
25
|
+
enabled: bool = False
|
|
26
26
|
|
|
27
27
|
@app.post("/")
|
|
28
28
|
def submit(profile: Annotated[Profile | None, Form()] = None):
|
|
@@ -114,7 +114,7 @@ def test_optional_form_model_multipart():
|
|
|
114
114
|
name: str
|
|
115
115
|
age: int
|
|
116
116
|
tags: list[str] = Field(default_factory=list)
|
|
117
|
-
enabled: bool =
|
|
117
|
+
enabled: bool = False
|
|
118
118
|
|
|
119
119
|
@app.post("/")
|
|
120
120
|
def submit(
|
|
@@ -176,7 +176,7 @@ def test_optional_form_model_schema(extra):
|
|
|
176
176
|
name: str
|
|
177
177
|
age: int
|
|
178
178
|
tags: list[str] = Field(default_factory=list)
|
|
179
|
-
enabled: bool =
|
|
179
|
+
enabled: bool = False
|
|
180
180
|
|
|
181
181
|
@app.post("/")
|
|
182
182
|
def submit(profile: Annotated[Profile | None, Form()] = None):
|
|
@@ -224,7 +224,7 @@ def test_optional_form_model_with_other_form_field_schema(extra):
|
|
|
224
224
|
name: str
|
|
225
225
|
age: int
|
|
226
226
|
tags: list[str] = Field(default_factory=list)
|
|
227
|
-
enabled: bool =
|
|
227
|
+
enabled: bool = False
|
|
228
228
|
|
|
229
229
|
@app.post("/")
|
|
230
230
|
def submit(
|
|
@@ -276,7 +276,7 @@ def test_unknown_fields_and_sibling_models(extra, required_name):
|
|
|
276
276
|
class Profile(BaseModel):
|
|
277
277
|
model_config = ConfigDict(extra=extra)
|
|
278
278
|
name: str = Field() if required_name else Field("default")
|
|
279
|
-
enabled: bool =
|
|
279
|
+
enabled: bool = False
|
|
280
280
|
|
|
281
281
|
class Credentials(BaseModel):
|
|
282
282
|
token: str
|
|
@@ -458,7 +458,7 @@ def test_defaults_factories_and_validators():
|
|
|
458
458
|
calls.clear()
|
|
459
459
|
response = client.post("/factory", data={"name": "submitted"})
|
|
460
460
|
assert response.status_code == 200, response.text
|
|
461
|
-
assert response.json()["enabled"] is
|
|
461
|
+
assert response.json()["enabled"] is True
|
|
462
462
|
assert calls == ["submitted"]
|
|
463
463
|
calls.clear()
|
|
464
464
|
response = client.post("/validated-default")
|
|
@@ -19,7 +19,7 @@ app = FastAPI()
|
|
|
19
19
|
class TextForm(BaseModel):
|
|
20
20
|
kind: Literal["text"]
|
|
21
21
|
value: str
|
|
22
|
-
enabled: bool =
|
|
22
|
+
enabled: bool = False
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class ListForm(BaseModel):
|
|
@@ -372,7 +372,7 @@ def test_defaults_factories_and_validators():
|
|
|
372
372
|
calls.clear()
|
|
373
373
|
response = client.post("/factory", data={"kind": "defaults"})
|
|
374
374
|
assert response.status_code == 200, response.text
|
|
375
|
-
assert response.json() == {"kind": "defaults", "tags": [], "enabled":
|
|
375
|
+
assert response.json() == {"kind": "defaults", "tags": [], "enabled": True}
|
|
376
376
|
assert calls == ["validated"]
|
|
377
377
|
calls.clear()
|
|
378
378
|
response = client.post("/validated-default")
|
|
@@ -721,39 +721,20 @@ def test_checked_checkbox_is_true(path):
|
|
|
721
721
|
assert response.json() == {"value": True}
|
|
722
722
|
|
|
723
723
|
|
|
724
|
-
@pytest.mark.parametrize(
|
|
725
|
-
"path",
|
|
726
|
-
[
|
|
727
|
-
"/parameter",
|
|
728
|
-
"/model",
|
|
729
|
-
"/parameter-default",
|
|
730
|
-
"/model-default",
|
|
731
|
-
],
|
|
732
|
-
)
|
|
724
|
+
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
733
725
|
def test_unchecked_checkbox_is_false(path):
|
|
734
726
|
app = FastAPI()
|
|
735
727
|
|
|
736
728
|
class Model(BaseModel):
|
|
737
|
-
value: bool
|
|
729
|
+
value: bool = False
|
|
738
730
|
|
|
739
731
|
@app.post("/parameter")
|
|
740
|
-
def read_parameter(value: Annotated[bool, Form()]):
|
|
732
|
+
def read_parameter(value: Annotated[bool, Form()] = False):
|
|
741
733
|
return {"value": value}
|
|
742
734
|
|
|
743
735
|
@app.post("/model")
|
|
744
736
|
def read_model(params: Annotated[Model, Form()]):
|
|
745
|
-
return params.model_dump(
|
|
746
|
-
|
|
747
|
-
class ModelWithDefault(BaseModel):
|
|
748
|
-
value: bool = False
|
|
749
|
-
|
|
750
|
-
@app.post("/parameter-default")
|
|
751
|
-
def read_parameter_default(value: Annotated[bool, Form()] = False):
|
|
752
|
-
return {"value": value}
|
|
753
|
-
|
|
754
|
-
@app.post("/model-default")
|
|
755
|
-
def read_model_default(params: Annotated[ModelWithDefault, Form()]):
|
|
756
|
-
return params.model_dump(exclude_unset=True)
|
|
737
|
+
return params.model_dump()
|
|
757
738
|
|
|
758
739
|
client = TestClient(app)
|
|
759
740
|
checked = client.post(path, data={"value": "on"})
|
|
@@ -769,7 +750,7 @@ def test_unchecked_checkbox_is_false(path):
|
|
|
769
750
|
"data,expected",
|
|
770
751
|
[
|
|
771
752
|
pytest.param({"value": "on"}, True, id="checked"),
|
|
772
|
-
pytest.param({},
|
|
753
|
+
pytest.param({}, True, id="omitted"),
|
|
773
754
|
],
|
|
774
755
|
)
|
|
775
756
|
def test_checkbox_with_true_default(path, data, expected):
|
|
@@ -784,7 +765,7 @@ def test_checkbox_with_true_default(path, data, expected):
|
|
|
784
765
|
|
|
785
766
|
@app.post("/model")
|
|
786
767
|
def read_model(params: Annotated[Model, Form()]):
|
|
787
|
-
return params.model_dump(
|
|
768
|
+
return params.model_dump()
|
|
788
769
|
|
|
789
770
|
client = TestClient(app)
|
|
790
771
|
response = client.post(path, data=data)
|
|
@@ -793,21 +774,15 @@ def test_checkbox_with_true_default(path, data, expected):
|
|
|
793
774
|
|
|
794
775
|
|
|
795
776
|
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
796
|
-
@pytest.mark.parametrize(
|
|
797
|
-
|
|
798
|
-
[
|
|
799
|
-
pytest.param({"value": "on"}, True, id="checked"),
|
|
800
|
-
pytest.param({}, False, id="unchecked"),
|
|
801
|
-
],
|
|
802
|
-
)
|
|
803
|
-
def test_required_nullable_checkbox(path, data, expected):
|
|
777
|
+
@pytest.mark.parametrize("annotation", [bool, bool | None])
|
|
778
|
+
def test_omitted_required_boolean_is_missing(path, annotation):
|
|
804
779
|
app = FastAPI()
|
|
805
780
|
|
|
806
781
|
class Model(BaseModel):
|
|
807
|
-
value:
|
|
782
|
+
value: annotation
|
|
808
783
|
|
|
809
784
|
@app.post("/parameter")
|
|
810
|
-
def read_parameter(value: Annotated[
|
|
785
|
+
def read_parameter(value: Annotated[annotation, Form()]):
|
|
811
786
|
return {"value": value}
|
|
812
787
|
|
|
813
788
|
@app.post("/model")
|
|
@@ -815,9 +790,14 @@ def test_required_nullable_checkbox(path, data, expected):
|
|
|
815
790
|
return params.model_dump(exclude_unset=True)
|
|
816
791
|
|
|
817
792
|
client = TestClient(app)
|
|
818
|
-
response = client.post(path, data=
|
|
793
|
+
response = client.post(path, data={"value": "on"})
|
|
819
794
|
assert response.status_code == 200
|
|
820
|
-
assert response.json() == {"value":
|
|
795
|
+
assert response.json() == {"value": True}
|
|
796
|
+
response = client.post(path)
|
|
797
|
+
assert response.status_code == 422
|
|
798
|
+
assert [(error["type"], error["loc"]) for error in response.json()["detail"]] == [
|
|
799
|
+
("missing", ["body", "value"]),
|
|
800
|
+
]
|
|
821
801
|
|
|
822
802
|
|
|
823
803
|
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
@@ -825,7 +805,7 @@ def test_required_nullable_checkbox(path, data, expected):
|
|
|
825
805
|
"data,expected",
|
|
826
806
|
[
|
|
827
807
|
pytest.param({"value": "on"}, True, id="checked"),
|
|
828
|
-
pytest.param({},
|
|
808
|
+
pytest.param({}, None, id="omitted"),
|
|
829
809
|
],
|
|
830
810
|
)
|
|
831
811
|
def test_nullable_checkbox_with_none_default(path, data, expected):
|
|
@@ -840,7 +820,7 @@ def test_nullable_checkbox_with_none_default(path, data, expected):
|
|
|
840
820
|
|
|
841
821
|
@app.post("/model")
|
|
842
822
|
def read_model(params: Annotated[Model, Form()]):
|
|
843
|
-
return params.model_dump(
|
|
823
|
+
return params.model_dump()
|
|
844
824
|
|
|
845
825
|
client = TestClient(app)
|
|
846
826
|
response = client.post(path, data=data)
|
|
@@ -852,10 +832,11 @@ def test_nullable_checkbox_with_none_default(path, data, expected):
|
|
|
852
832
|
"data,expected",
|
|
853
833
|
[
|
|
854
834
|
pytest.param({"value": "on"}, True, id="checked"),
|
|
835
|
+
pytest.param({"value": "false"}, False, id="explicit-false"),
|
|
855
836
|
pytest.param({}, False, id="unchecked"),
|
|
856
837
|
],
|
|
857
838
|
)
|
|
858
|
-
def
|
|
839
|
+
def test_checkbox_default_is_not_explicitly_set(data, expected):
|
|
859
840
|
app = FastAPI()
|
|
860
841
|
|
|
861
842
|
class Model(BaseModel):
|
|
@@ -864,6 +845,7 @@ def test_checkbox_with_false_default_is_explicitly_set(data, expected):
|
|
|
864
845
|
@app.post("/")
|
|
865
846
|
def read_model(params: Annotated[Model, Form()]):
|
|
866
847
|
return {
|
|
848
|
+
"value": params.value,
|
|
867
849
|
"fields_set": sorted(params.model_fields_set),
|
|
868
850
|
"values": params.model_dump(exclude_unset=True),
|
|
869
851
|
}
|
|
@@ -871,7 +853,11 @@ def test_checkbox_with_false_default_is_explicitly_set(data, expected):
|
|
|
871
853
|
client = TestClient(app)
|
|
872
854
|
response = client.post("/", data=data)
|
|
873
855
|
assert response.status_code == 200
|
|
874
|
-
assert response.json() == {
|
|
856
|
+
assert response.json() == {
|
|
857
|
+
"value": expected,
|
|
858
|
+
"fields_set": ["value"] if data else [],
|
|
859
|
+
"values": {"value": expected} if data else {},
|
|
860
|
+
}
|
|
875
861
|
|
|
876
862
|
|
|
877
863
|
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
@@ -885,19 +871,19 @@ def test_checkbox_uses_alias(path, alias, validation_alias, data, expected):
|
|
|
885
871
|
class Model(BaseModel):
|
|
886
872
|
value: Annotated[
|
|
887
873
|
bool, Field(alias=alias, validation_alias=validation_alias)
|
|
888
|
-
] =
|
|
874
|
+
] = False
|
|
889
875
|
|
|
890
876
|
@app.post("/parameter")
|
|
891
877
|
def read_parameter(
|
|
892
878
|
value: Annotated[
|
|
893
879
|
bool, Form(alias=alias, validation_alias=validation_alias)
|
|
894
|
-
] =
|
|
880
|
+
] = False,
|
|
895
881
|
):
|
|
896
882
|
return {"value": value}
|
|
897
883
|
|
|
898
884
|
@app.post("/model")
|
|
899
885
|
def read_model(params: Annotated[Model, Form()]):
|
|
900
|
-
return params.model_dump(
|
|
886
|
+
return params.model_dump()
|
|
901
887
|
|
|
902
888
|
client = TestClient(app)
|
|
903
889
|
response = client.post(path, data=data)
|
|
@@ -929,11 +915,11 @@ def test_checkbox_model_accepts_field_name(config, data, expected, validation_al
|
|
|
929
915
|
model_config = config
|
|
930
916
|
value: Annotated[
|
|
931
917
|
bool, Field(alias="enabled", validation_alias=validation_alias)
|
|
932
|
-
]
|
|
918
|
+
] = False
|
|
933
919
|
|
|
934
920
|
@app.post("/")
|
|
935
921
|
def read_model(params: Annotated[Model, Form()]):
|
|
936
|
-
return params.model_dump(
|
|
922
|
+
return params.model_dump()
|
|
937
923
|
|
|
938
924
|
client = TestClient(app)
|
|
939
925
|
response = client.post("/", data=data)
|
|
@@ -960,20 +946,20 @@ def test_checkbox_with_alias_choices(path, data, expected):
|
|
|
960
946
|
value: Annotated[
|
|
961
947
|
bool,
|
|
962
948
|
Field(alias="legacy", validation_alias=AliasChoices("enabled", "checkbox")),
|
|
963
|
-
]
|
|
949
|
+
] = False
|
|
964
950
|
|
|
965
951
|
@app.post("/parameter")
|
|
966
952
|
def read_parameter(
|
|
967
953
|
value: Annotated[
|
|
968
954
|
bool,
|
|
969
955
|
Form(alias="legacy", validation_alias=AliasChoices("enabled", "checkbox")),
|
|
970
|
-
],
|
|
956
|
+
] = False,
|
|
971
957
|
):
|
|
972
958
|
return {"value": value}
|
|
973
959
|
|
|
974
960
|
@app.post("/model")
|
|
975
961
|
def read_model(params: Annotated[Model, Form()]):
|
|
976
|
-
return params.model_dump(
|
|
962
|
+
return params.model_dump()
|
|
977
963
|
|
|
978
964
|
client = TestClient(app)
|
|
979
965
|
response = client.post(path, data=data)
|
|
@@ -994,7 +980,7 @@ def test_checkbox_with_alias_choices(path, data, expected):
|
|
|
994
980
|
),
|
|
995
981
|
],
|
|
996
982
|
)
|
|
997
|
-
def
|
|
983
|
+
def test_omitted_booleans_with_alias_choices_use_defaults(config):
|
|
998
984
|
app = FastAPI()
|
|
999
985
|
|
|
1000
986
|
class Model(BaseModel):
|
|
@@ -1008,12 +994,18 @@ def test_unchecked_checkbox_with_alias_choices_overrides_defaults(config):
|
|
|
1008
994
|
|
|
1009
995
|
@app.post("/")
|
|
1010
996
|
def read_model(params: Annotated[Model, Form()]):
|
|
1011
|
-
return
|
|
997
|
+
return {
|
|
998
|
+
"values": params.model_dump(),
|
|
999
|
+
"fields_set": sorted(params.model_fields_set),
|
|
1000
|
+
}
|
|
1012
1001
|
|
|
1013
1002
|
client = TestClient(app)
|
|
1014
1003
|
response = client.post("/")
|
|
1015
1004
|
assert response.status_code == 200
|
|
1016
|
-
assert response.json() == {
|
|
1005
|
+
assert response.json() == {
|
|
1006
|
+
"values": {"value": True, "nullable": None},
|
|
1007
|
+
"fields_set": [],
|
|
1008
|
+
}
|
|
1017
1009
|
|
|
1018
1010
|
|
|
1019
1011
|
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
@@ -1070,7 +1062,7 @@ def test_checkbox_alias_choices_preserve_validation_precedence(path):
|
|
|
1070
1062
|
(AliasChoices("checkbox", AliasPath("enabled")), "checkbox"),
|
|
1071
1063
|
],
|
|
1072
1064
|
)
|
|
1073
|
-
def
|
|
1065
|
+
def test_required_boolean_with_alias_path(validation_alias, missing_name):
|
|
1074
1066
|
app = FastAPI()
|
|
1075
1067
|
|
|
1076
1068
|
class Model(BaseModel):
|
|
@@ -1107,17 +1099,17 @@ def test_checkbox_in_multipart_form(path, checked):
|
|
|
1107
1099
|
|
|
1108
1100
|
class Model(BaseModel):
|
|
1109
1101
|
name: str
|
|
1110
|
-
value: bool =
|
|
1102
|
+
value: bool = False
|
|
1111
1103
|
|
|
1112
1104
|
@app.post("/parameter")
|
|
1113
1105
|
def read_parameter(
|
|
1114
|
-
name: Annotated[str, Form()], value: Annotated[bool, Form()] =
|
|
1106
|
+
name: Annotated[str, Form()], value: Annotated[bool, Form()] = False
|
|
1115
1107
|
):
|
|
1116
1108
|
return {"name": name, "value": value}
|
|
1117
1109
|
|
|
1118
1110
|
@app.post("/model")
|
|
1119
1111
|
def read_model(params: Annotated[Model, Form()]):
|
|
1120
|
-
return params.model_dump(
|
|
1112
|
+
return params.model_dump()
|
|
1121
1113
|
|
|
1122
1114
|
client = TestClient(app)
|
|
1123
1115
|
if checked:
|
|
@@ -1131,9 +1123,10 @@ def test_checkbox_in_multipart_form(path, checked):
|
|
|
1131
1123
|
|
|
1132
1124
|
|
|
1133
1125
|
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
1134
|
-
|
|
1126
|
+
@pytest.mark.parametrize("validate_default", [False, True])
|
|
1127
|
+
def test_omitted_boolean_uses_default_factory(path, validate_default):
|
|
1135
1128
|
app = FastAPI()
|
|
1136
|
-
default_factory = Mock(return_value=
|
|
1129
|
+
default_factory = Mock(return_value=False)
|
|
1137
1130
|
|
|
1138
1131
|
def require_checked(value: bool) -> bool:
|
|
1139
1132
|
if not value:
|
|
@@ -1144,13 +1137,15 @@ def test_unchecked_checkbox_is_validated_without_calling_default_factory(path):
|
|
|
1144
1137
|
value: Annotated[
|
|
1145
1138
|
bool,
|
|
1146
1139
|
AfterValidator(require_checked),
|
|
1147
|
-
Field(default_factory=default_factory),
|
|
1140
|
+
Field(default_factory=default_factory, validate_default=validate_default),
|
|
1148
1141
|
]
|
|
1149
1142
|
|
|
1150
1143
|
@app.post("/parameter")
|
|
1151
1144
|
def read_parameter(
|
|
1152
1145
|
value: Annotated[
|
|
1153
|
-
bool,
|
|
1146
|
+
bool,
|
|
1147
|
+
AfterValidator(require_checked),
|
|
1148
|
+
Form(default_factory=default_factory, validate_default=validate_default),
|
|
1154
1149
|
],
|
|
1155
1150
|
):
|
|
1156
1151
|
return value
|
|
@@ -1163,13 +1158,18 @@ def test_unchecked_checkbox_is_validated_without_calling_default_factory(path):
|
|
|
1163
1158
|
checked = client.post(path, data={"value": "on"})
|
|
1164
1159
|
assert checked.status_code == 200
|
|
1165
1160
|
assert checked.json() is True
|
|
1166
|
-
response = client.post(path)
|
|
1167
|
-
assert response.status_code == 422
|
|
1168
|
-
assert [
|
|
1169
|
-
(error["type"], error["loc"], error["input"])
|
|
1170
|
-
for error in response.json()["detail"]
|
|
1171
|
-
] == [("value_error", ["body", "value"], False)]
|
|
1172
1161
|
default_factory.assert_not_called()
|
|
1162
|
+
response = client.post(path)
|
|
1163
|
+
if validate_default:
|
|
1164
|
+
assert response.status_code == 422
|
|
1165
|
+
assert [
|
|
1166
|
+
(error["type"], error["loc"], error["input"])
|
|
1167
|
+
for error in response.json()["detail"]
|
|
1168
|
+
] == [("value_error", ["body", "value"], False)]
|
|
1169
|
+
else:
|
|
1170
|
+
assert response.status_code == 200
|
|
1171
|
+
assert response.json() is False
|
|
1172
|
+
default_factory.assert_called_once_with()
|
|
1173
1173
|
|
|
1174
1174
|
|
|
1175
1175
|
@pytest.mark.parametrize("path", ["/parameter", "/model"])
|
|
@@ -1214,8 +1214,10 @@ def test_form_does_not_change_required_model_fields():
|
|
|
1214
1214
|
assert response.json() == {"value": True}
|
|
1215
1215
|
|
|
1216
1216
|
response = client.post("/form")
|
|
1217
|
-
assert response.status_code ==
|
|
1218
|
-
assert response.json() ==
|
|
1217
|
+
assert response.status_code == 422
|
|
1218
|
+
assert [(error["type"], error["loc"]) for error in response.json()["detail"]] == [
|
|
1219
|
+
("missing", ["body", "value"]),
|
|
1220
|
+
]
|
|
1219
1221
|
|
|
1220
1222
|
assert Model.model_fields["value"].is_required()
|
|
1221
1223
|
with pytest.raises(ValidationError) as exc_info:
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import importlib
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
from fastapi.testclient import TestClient
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@pytest.fixture(name="client", params=["tutorial002_py310", "tutorial002_an_py310"])
|
|
8
|
+
def get_client(request: pytest.FixtureRequest):
|
|
9
|
+
mod = importlib.import_module(f"docs_src.request_forms.{request.param}")
|
|
10
|
+
return TestClient(mod.app)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def test_unchecked_checkbox(client: TestClient):
|
|
14
|
+
response = client.post("/preferences/")
|
|
15
|
+
assert response.status_code == 200
|
|
16
|
+
assert response.json() == {"subscribe": False}
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def test_checked_checkbox(client: TestClient):
|
|
20
|
+
response = client.post("/preferences/", data={"subscribe": "on"})
|
|
21
|
+
assert response.status_code == 200
|
|
22
|
+
assert response.json() == {"subscribe": True}
|