fastapi 0.136.3__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.162.0/PKG-INFO +622 -0
- fastapi-0.162.0/README.md +533 -0
- fastapi-0.162.0/docs_src/behind_a_proxy/tutorial003_py310.py +13 -0
- fastapi-0.162.0/docs_src/behind_a_proxy/tutorial004_py310.py +14 -0
- fastapi-0.162.0/docs_src/cookie_param_models/tutorial003_an_py310.py +16 -0
- fastapi-0.162.0/docs_src/cookie_param_models/tutorial003_py310.py +14 -0
- fastapi-0.162.0/docs_src/frontend/tutorial001_py310.py +5 -0
- fastapi-0.162.0/docs_src/frontend/tutorial002_py310.py +5 -0
- fastapi-0.162.0/docs_src/frontend/tutorial003_py310.py +5 -0
- fastapi-0.162.0/docs_src/frontend/tutorial004_py310.py +7 -0
- fastapi-0.162.0/docs_src/frontend/tutorial005_py310.py +5 -0
- fastapi-0.162.0/docs_src/frontend/tutorial006_py310.py +5 -0
- fastapi-0.162.0/docs_src/header_param_models/tutorial004_an_py310.py +16 -0
- fastapi-0.162.0/docs_src/header_param_models/tutorial004_py310.py +14 -0
- fastapi-0.162.0/docs_src/opentelemetry/tutorial002_py310.py +13 -0
- fastapi-0.162.0/docs_src/opentelemetry/tutorial003_py310.py +8 -0
- fastapi-0.162.0/docs_src/path_operation_advanced_configuration/tutorial002_py310.py +14 -0
- fastapi-0.162.0/docs_src/path_params/tutorial002_py310.py +8 -0
- fastapi-0.162.0/docs_src/query_param_models/tutorial003_an_py310.py +24 -0
- fastapi-0.162.0/docs_src/query_param_models/tutorial003_py310.py +22 -0
- fastapi-0.162.0/docs_src/query_param_models/tutorial004_an_py310.py +20 -0
- fastapi-0.162.0/docs_src/query_param_models/tutorial004_py310.py +19 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial003_an_py310.py +23 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial003_py310.py +21 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial004_an_py310.py +15 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial004_py310.py +13 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial005_an_py310.py +19 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial005_py310.py +17 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial006_an_py310.py +23 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial006_py310.py +23 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial007_an_py310.py +37 -0
- fastapi-0.162.0/docs_src/request_form_models/tutorial007_py310.py +37 -0
- 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.162.0/docs_src/templates/templates/item_path.html +9 -0
- fastapi-0.162.0/docs_src/templates/tutorial002_py310.py +18 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/SKILL.md +332 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/references/dependencies.md +144 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/references/other-tools.md +78 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/references/path-operations.md +93 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/references/pydantic.md +93 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/references/responses.md +79 -0
- fastapi-0.162.0/fastapi/.agents/skills/fastapi/references/streaming.md +106 -0
- fastapi-0.162.0/fastapi/__init__.py +25 -0
- fastapi-0.162.0/fastapi/_compat/shared.py +222 -0
- fastapi-0.162.0/fastapi/_compat/v2.py +500 -0
- fastapi-0.162.0/fastapi/applications.py +4816 -0
- fastapi-0.162.0/fastapi/background.py +67 -0
- fastapi-0.162.0/fastapi/cli.py +13 -0
- fastapi-0.162.0/fastapi/dependencies/models.py +234 -0
- fastapi-0.162.0/fastapi/dependencies/utils.py +1464 -0
- fastapi-0.162.0/fastapi/encoders.py +366 -0
- fastapi-0.162.0/fastapi/openapi/utils.py +671 -0
- fastapi-0.162.0/fastapi/param_functions.py +2568 -0
- fastapi-0.162.0/fastapi/params.py +799 -0
- fastapi-0.162.0/fastapi/routing.py +6552 -0
- fastapi-0.162.0/fastapi/security/api_key.py +320 -0
- fastapi-0.162.0/fastapi/security/http.py +423 -0
- fastapi-0.162.0/fastapi/security/oauth2.py +693 -0
- fastapi-0.162.0/fastapi/security/open_id_connect_url.py +94 -0
- fastapi-0.162.0/fastapi/sse.py +241 -0
- fastapi-0.162.0/fastapi/telemetry/__init__.py +3 -0
- fastapi-0.162.0/fastapi/telemetry/_api.py +280 -0
- fastapi-0.162.0/fastapi/telemetry/_asgi.py +457 -0
- fastapi-0.162.0/fastapi/telemetry/_runtime.py +238 -0
- fastapi-0.162.0/pyproject.toml +452 -0
- fastapi-0.162.0/scripts/doc_parsing_utils.py +733 -0
- fastapi-0.162.0/scripts/docs.py +919 -0
- fastapi-0.162.0/scripts/lint.sh +9 -0
- fastapi-0.162.0/scripts/prepare_release.py +216 -0
- fastapi-0.162.0/scripts/sponsors.py +222 -0
- fastapi-0.162.0/scripts/tests/test_translation_fixer/conftest.py +62 -0
- fastapi-0.162.0/scripts/topic_repos.py +81 -0
- fastapi-0.162.0/scripts/translate.py +489 -0
- fastapi-0.162.0/scripts/translation_git.py +47 -0
- fastapi-0.162.0/tests/benchmarks/test_openapi.py +33 -0
- fastapi-0.162.0/tests/benchmarks/utils.py +51 -0
- fastapi-0.162.0/tests/memory_benchmarks/test_dependency_graph.py +86 -0
- fastapi-0.162.0/tests/memory_benchmarks/test_openapi.py +33 -0
- fastapi-0.162.0/tests/memory_benchmarks/test_route_dependency_graph.py +64 -0
- fastapi-0.162.0/tests/test_body_alias_choices.py +392 -0
- fastapi-0.162.0/tests/test_compat.py +140 -0
- fastapi-0.162.0/tests/test_custom_middleware_exception.py +96 -0
- fastapi-0.162.0/tests/test_custom_route_class.py +116 -0
- fastapi-0.162.0/tests/test_datastructures.py +66 -0
- fastapi-0.162.0/tests/test_default_response_class.py +222 -0
- fastapi-0.162.0/tests/test_dependency_models.py +204 -0
- fastapi-0.162.0/tests/test_deprecated_responses.py +79 -0
- fastapi-0.162.0/tests/test_forms_multiple_models.py +641 -0
- fastapi-0.162.0/tests/test_forms_multiple_unions.py +764 -0
- fastapi-0.162.0/tests/test_forms_optional_models.py +751 -0
- fastapi-0.162.0/tests/test_forms_optional_unions.py +476 -0
- fastapi-0.162.0/tests/test_forms_single_model.py +141 -0
- fastapi-0.162.0/tests/test_frontend.py +1415 -0
- fastapi-0.162.0/tests/test_header_cookie_alias_choices.py +663 -0
- fastapi-0.162.0/tests/test_header_cookie_optional_models.py +447 -0
- fastapi-0.162.0/tests/test_inherited_custom_class.py +67 -0
- fastapi-0.162.0/tests/test_jsonable_encoder.py +345 -0
- fastapi-0.162.0/tests/test_local_docs.py +67 -0
- fastapi-0.162.0/tests/test_multiple_parameter_models.py +484 -0
- fastapi-0.162.0/tests/test_nested_annotated_in_sequence.py +143 -0
- fastapi-0.162.0/tests/test_openapi_schema_type.py +24 -0
- fastapi-0.162.0/tests/test_optional_file_list.py +38 -0
- fastapi-0.162.0/tests/test_orjson_response_class.py +32 -0
- fastapi-0.162.0/tests/test_path_alias_choices.py +287 -0
- fastapi-0.162.0/tests/test_prepare_release.py +307 -0
- fastapi-0.162.0/tests/test_query_alias_choices.py +508 -0
- fastapi-0.162.0/tests/test_query_cookie_header_model_extra_params.py +140 -0
- fastapi-0.162.0/tests/test_query_optional_models.py +466 -0
- fastapi-0.162.0/tests/test_request_body_parameters_media_type.py +321 -0
- fastapi-0.162.0/tests/test_request_param_model_by_alias.py +247 -0
- fastapi-0.162.0/tests/test_request_params/test_body/test_nullable_and_defaults.py +424 -0
- fastapi-0.162.0/tests/test_request_params/test_default_validation.py +373 -0
- fastapi-0.162.0/tests/test_request_params/test_field_metadata.py +511 -0
- fastapi-0.162.0/tests/test_request_params/test_field_options.py +396 -0
- fastapi-0.162.0/tests/test_request_params/test_file/test_nullable_and_defaults.py +827 -0
- fastapi-0.162.0/tests/test_request_params/test_form/test_nullable_and_defaults.py +1261 -0
- fastapi-0.162.0/tests/test_request_params/test_header/test_nullable_and_defaults.py +227 -0
- fastapi-0.162.0/tests/test_request_params/test_nullable_and_defaults.py +795 -0
- fastapi-0.162.0/tests/test_response_model_as_return_annotation.py +1121 -0
- fastapi-0.162.0/tests/test_route_handler_wrapping.py +164 -0
- fastapi-0.162.0/tests/test_router_events.py +378 -0
- fastapi-0.162.0/tests/test_router_include_context.py +1162 -0
- fastapi-0.162.0/tests/test_schema_compat_pydantic_v2.py +121 -0
- fastapi-0.162.0/tests/test_security_http_base_optional.py +88 -0
- fastapi-0.162.0/tests/test_security_http_bearer.py +103 -0
- fastapi-0.162.0/tests/test_security_websockets.py +161 -0
- fastapi-0.162.0/tests/test_skip_defaults.py +125 -0
- fastapi-0.162.0/tests/test_sse.py +490 -0
- fastapi-0.162.0/tests/test_starlette_urlconvertors.py +63 -0
- fastapi-0.162.0/tests/test_stream_bare_type.py +74 -0
- fastapi-0.162.0/tests/test_stream_cancellation.py +89 -0
- fastapi-0.162.0/tests/test_stream_non_finite_floats.py +89 -0
- fastapi-0.162.0/tests/test_stream_status_code.py +452 -0
- fastapi-0.162.0/tests/test_swagger_ui_escape.py +37 -0
- fastapi-0.162.0/tests/test_telemetry/_otlp.py +36 -0
- fastapi-0.162.0/tests/test_telemetry/_subprocess.py +43 -0
- fastapi-0.162.0/tests/test_telemetry/conftest.py +69 -0
- fastapi-0.162.0/tests/test_telemetry/test_background.py +276 -0
- fastapi-0.162.0/tests/test_telemetry/test_data.py +448 -0
- fastapi-0.162.0/tests/test_telemetry/test_environment_integrations.py +245 -0
- fastapi-0.162.0/tests/test_telemetry/test_exceptions.py +249 -0
- fastapi-0.162.0/tests/test_telemetry/test_http.py +697 -0
- fastapi-0.162.0/tests/test_telemetry/test_integrations.py +351 -0
- fastapi-0.162.0/tests/test_telemetry/test_native_integrations.py +316 -0
- fastapi-0.162.0/tests/test_telemetry/test_operations.py +93 -0
- fastapi-0.162.0/tests/test_telemetry/test_runtime.py +685 -0
- fastapi-0.162.0/tests/test_telemetry/test_semantic_conventions.py +163 -0
- fastapi-0.162.0/tests/test_telemetry/test_tracer.py +77 -0
- fastapi-0.162.0/tests/test_telemetry/test_websockets.py +292 -0
- fastapi-0.162.0/tests/test_translate.py +63 -0
- fastapi-0.162.0/tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py +43 -0
- fastapi-0.162.0/tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py +48 -0
- fastapi-0.162.0/tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py +47 -0
- fastapi-0.162.0/tests/test_tutorial/test_body/test_tutorial001.py +346 -0
- fastapi-0.162.0/tests/test_tutorial/test_body_nested_models/test_tutorial001_tutorial002_tutorial003.py +256 -0
- fastapi-0.162.0/tests/test_tutorial/test_cookie_param_models/test_tutorial003.py +47 -0
- fastapi-0.162.0/tests/test_tutorial/test_custom_response/test_tutorial008.py +18 -0
- fastapi-0.162.0/tests/test_tutorial/test_custom_response/test_tutorial009.py +18 -0
- fastapi-0.162.0/tests/test_tutorial/test_custom_response/test_tutorial009b.py +18 -0
- fastapi-0.162.0/tests/test_tutorial/test_debugging/test_tutorial001.py +65 -0
- fastapi-0.162.0/tests/test_tutorial/test_header_param_models/test_tutorial001.py +209 -0
- fastapi-0.162.0/tests/test_tutorial/test_header_param_models/test_tutorial002.py +204 -0
- fastapi-0.162.0/tests/test_tutorial/test_header_param_models/test_tutorial003.py +247 -0
- fastapi-0.162.0/tests/test_tutorial/test_header_param_models/test_tutorial004.py +49 -0
- fastapi-0.162.0/tests/test_tutorial/test_openapi_webhooks/test_tutorial001.py +129 -0
- fastapi-0.162.0/tests/test_tutorial/test_opentelemetry/conftest.py +8 -0
- fastapi-0.162.0/tests/test_tutorial/test_opentelemetry/test_tutorial001.py +8 -0
- fastapi-0.162.0/tests/test_tutorial/test_opentelemetry/test_tutorial002.py +28 -0
- fastapi-0.162.0/tests/test_tutorial/test_opentelemetry/test_tutorial003.py +22 -0
- fastapi-0.162.0/tests/test_tutorial/test_python_types/test_tutorial003.py +12 -0
- fastapi-0.162.0/tests/test_tutorial/test_python_types/test_tutorial005.py +12 -0
- fastapi-0.162.0/tests/test_tutorial/test_query_param_models/test_tutorial003.py +38 -0
- fastapi-0.162.0/tests/test_tutorial/test_query_param_models/test_tutorial004.py +58 -0
- fastapi-0.162.0/tests/test_tutorial/test_query_params/test_tutorial003.py +180 -0
- fastapi-0.162.0/tests/test_tutorial/test_query_params_str_validations/test_tutorial006c.py +148 -0
- fastapi-0.162.0/tests/test_tutorial/test_request_form_models/test_tutorial003.py +38 -0
- fastapi-0.162.0/tests/test_tutorial/test_request_form_models/test_tutorial004.py +41 -0
- fastapi-0.162.0/tests/test_tutorial/test_request_form_models/test_tutorial005.py +27 -0
- fastapi-0.162.0/tests/test_tutorial/test_request_form_models/test_tutorial006.py +49 -0
- fastapi-0.162.0/tests/test_tutorial/test_request_form_models/test_tutorial007.py +59 -0
- fastapi-0.162.0/tests/test_tutorial/test_request_forms/test_tutorial002.py +22 -0
- fastapi-0.162.0/tests/test_tutorial/test_security/test_tutorial005.py +432 -0
- fastapi-0.162.0/tests/test_tutorial/test_sql_databases/test_tutorial001.py +360 -0
- fastapi-0.162.0/tests/test_tutorial/test_sql_databases/test_tutorial002.py +441 -0
- fastapi-0.162.0/tests/test_tutorial/test_templates/test_tutorial002.py +40 -0
- fastapi-0.162.0/tests/test_tutorial/test_using_request_directly/__init__.py +0 -0
- fastapi-0.162.0/tests/test_tutorial/test_websockets/__init__.py +0 -0
- fastapi-0.162.0/tests/test_tutorial/test_wsgi/__init__.py +0 -0
- fastapi-0.162.0/tests/test_union_body_discriminator.py +205 -0
- fastapi-0.162.0/tests/test_union_body_discriminator_annotated.py +258 -0
- fastapi-0.162.0/tests/test_union_form_normalization.py +870 -0
- fastapi-0.162.0/tests/test_upload_file_read_position.py +147 -0
- fastapi-0.162.0/tests/test_validate_response_recursive/__init__.py +0 -0
- fastapi-0.162.0/tests/test_webhooks_security.py +137 -0
- fastapi-0.162.0/tests/utils.py +29 -0
- fastapi-0.136.3/PKG-INFO +0 -618
- fastapi-0.136.3/README.md +0 -542
- fastapi-0.136.3/docs_src/behind_a_proxy/tutorial003_py310.py +0 -14
- fastapi-0.136.3/docs_src/behind_a_proxy/tutorial004_py310.py +0 -15
- fastapi-0.136.3/docs_src/path_operation_advanced_configuration/tutorial002_py310.py +0 -24
- fastapi-0.136.3/fastapi/.agents/skills/fastapi/SKILL.md +0 -436
- fastapi-0.136.3/fastapi/.agents/skills/fastapi/references/dependencies.md +0 -142
- fastapi-0.136.3/fastapi/.agents/skills/fastapi/references/other-tools.md +0 -76
- fastapi-0.136.3/fastapi/.agents/skills/fastapi/references/streaming.md +0 -105
- fastapi-0.136.3/fastapi/__init__.py +0 -25
- fastapi-0.136.3/fastapi/_compat/shared.py +0 -214
- fastapi-0.136.3/fastapi/_compat/v2.py +0 -493
- fastapi-0.136.3/fastapi/applications.py +0 -4691
- fastapi-0.136.3/fastapi/background.py +0 -61
- fastapi-0.136.3/fastapi/cli.py +0 -13
- fastapi-0.136.3/fastapi/dependencies/models.py +0 -193
- fastapi-0.136.3/fastapi/dependencies/utils.py +0 -1061
- fastapi-0.136.3/fastapi/encoders.py +0 -364
- fastapi-0.136.3/fastapi/openapi/utils.py +0 -606
- fastapi-0.136.3/fastapi/param_functions.py +0 -2460
- fastapi-0.136.3/fastapi/params.py +0 -754
- fastapi-0.136.3/fastapi/routing.py +0 -4956
- fastapi-0.136.3/fastapi/security/api_key.py +0 -320
- fastapi-0.136.3/fastapi/security/http.py +0 -417
- fastapi-0.136.3/fastapi/security/oauth2.py +0 -693
- fastapi-0.136.3/fastapi/security/open_id_connect_url.py +0 -94
- fastapi-0.136.3/fastapi/sse.py +0 -235
- fastapi-0.136.3/pyproject.toml +0 -440
- fastapi-0.136.3/scripts/contributors.py +0 -316
- fastapi-0.136.3/scripts/coverage.sh +0 -8
- fastapi-0.136.3/scripts/doc_parsing_utils.py +0 -733
- fastapi-0.136.3/scripts/docs.py +0 -862
- fastapi-0.136.3/scripts/label_approved.py +0 -60
- fastapi-0.136.3/scripts/lint.sh +0 -9
- fastapi-0.136.3/scripts/notify_translations.py +0 -432
- fastapi-0.136.3/scripts/people.py +0 -483
- fastapi-0.136.3/scripts/sponsors.py +0 -222
- fastapi-0.136.3/scripts/tests/test_translation_fixer/conftest.py +0 -50
- fastapi-0.136.3/scripts/topic_repos.py +0 -81
- fastapi-0.136.3/scripts/translate.py +0 -485
- fastapi-0.136.3/tests/test_compat.py +0 -132
- fastapi-0.136.3/tests/test_custom_middleware_exception.py +0 -94
- fastapi-0.136.3/tests/test_custom_route_class.py +0 -121
- fastapi-0.136.3/tests/test_datastructures.py +0 -65
- fastapi-0.136.3/tests/test_default_response_class.py +0 -222
- fastapi-0.136.3/tests/test_deprecated_openapi_prefix.py +0 -45
- fastapi-0.136.3/tests/test_deprecated_responses.py +0 -79
- fastapi-0.136.3/tests/test_forms_single_model.py +0 -141
- fastapi-0.136.3/tests/test_inherited_custom_class.py +0 -67
- fastapi-0.136.3/tests/test_jsonable_encoder.py +0 -331
- fastapi-0.136.3/tests/test_local_docs.py +0 -67
- fastapi-0.136.3/tests/test_openapi_schema_type.py +0 -24
- fastapi-0.136.3/tests/test_optional_file_list.py +0 -28
- fastapi-0.136.3/tests/test_orjson_response_class.py +0 -32
- fastapi-0.136.3/tests/test_query_cookie_header_model_extra_params.py +0 -140
- fastapi-0.136.3/tests/test_request_body_parameters_media_type.py +0 -184
- fastapi-0.136.3/tests/test_request_param_model_by_alias.py +0 -72
- fastapi-0.136.3/tests/test_response_model_as_return_annotation.py +0 -1121
- fastapi-0.136.3/tests/test_router_events.py +0 -378
- fastapi-0.136.3/tests/test_schema_compat_pydantic_v2.py +0 -121
- fastapi-0.136.3/tests/test_security_http_base_optional.py +0 -61
- fastapi-0.136.3/tests/test_security_http_bearer.py +0 -65
- fastapi-0.136.3/tests/test_skip_defaults.py +0 -93
- fastapi-0.136.3/tests/test_sse.py +0 -327
- fastapi-0.136.3/tests/test_starlette_urlconvertors.py +0 -63
- fastapi-0.136.3/tests/test_stream_bare_type.py +0 -42
- fastapi-0.136.3/tests/test_stream_cancellation.py +0 -88
- fastapi-0.136.3/tests/test_swagger_ui_escape.py +0 -37
- fastapi-0.136.3/tests/test_tutorial/test_behind_a_proxy/test_tutorial002.py +0 -38
- fastapi-0.136.3/tests/test_tutorial/test_behind_a_proxy/test_tutorial003.py +0 -48
- fastapi-0.136.3/tests/test_tutorial/test_behind_a_proxy/test_tutorial004.py +0 -47
- fastapi-0.136.3/tests/test_tutorial/test_body/test_tutorial001.py +0 -346
- fastapi-0.136.3/tests/test_tutorial/test_body_nested_models/test_tutorial001_tutorial002_tutorial003.py +0 -255
- fastapi-0.136.3/tests/test_tutorial/test_custom_response/test_tutorial008.py +0 -17
- fastapi-0.136.3/tests/test_tutorial/test_custom_response/test_tutorial009.py +0 -17
- fastapi-0.136.3/tests/test_tutorial/test_custom_response/test_tutorial009b.py +0 -17
- fastapi-0.136.3/tests/test_tutorial/test_debugging/test_tutorial001.py +0 -67
- fastapi-0.136.3/tests/test_tutorial/test_header_param_models/test_tutorial001.py +0 -207
- fastapi-0.136.3/tests/test_tutorial/test_header_param_models/test_tutorial002.py +0 -204
- fastapi-0.136.3/tests/test_tutorial/test_header_param_models/test_tutorial003.py +0 -244
- fastapi-0.136.3/tests/test_tutorial/test_openapi_webhooks/test_tutorial001.py +0 -126
- fastapi-0.136.3/tests/test_tutorial/test_python_types/test_tutorial003.py +0 -12
- fastapi-0.136.3/tests/test_tutorial/test_python_types/test_tutorial005.py +0 -12
- fastapi-0.136.3/tests/test_tutorial/test_query_params/test_tutorial003.py +0 -154
- fastapi-0.136.3/tests/test_tutorial/test_query_params_str_validations/test_tutorial006c.py +0 -153
- fastapi-0.136.3/tests/test_tutorial/test_security/test_tutorial005.py +0 -430
- fastapi-0.136.3/tests/test_tutorial/test_sql_databases/test_tutorial001.py +0 -356
- fastapi-0.136.3/tests/test_tutorial/test_sql_databases/test_tutorial002.py +0 -437
- fastapi-0.136.3/tests/test_union_body_discriminator.py +0 -204
- fastapi-0.136.3/tests/test_union_body_discriminator_annotated.py +0 -203
- fastapi-0.136.3/tests/test_webhooks_security.py +0 -134
- fastapi-0.136.3/tests/utils.py +0 -29
- {fastapi-0.136.3 → fastapi-0.162.0}/LICENSE +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs/en/docs/img/favicon.png +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_responses/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_responses/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_responses/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_responses/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_responses/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_status_codes/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_status_codes/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/additional_status_codes/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/advanced_middleware/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/advanced_middleware/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/advanced_middleware/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/advanced_middleware/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_a_py310/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_a_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_a_py310/test_main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_b_an_py310/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_b_an_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_b_an_py310/test_main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_b_py310/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_b_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/app_b_py310/test_main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/app_testing/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/async_tests/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/async_tests/app_a_py310/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/async_tests/app_a_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/async_tests/app_a_py310/test_main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/authentication_error_status_code/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/authentication_error_status_code/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/background_tasks/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/background_tasks/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/background_tasks/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/background_tasks/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/behind_a_proxy/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial001_01_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/behind_a_proxy/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/dependencies.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/internal/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/internal/admin.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/routers/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/routers/items.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/bigger_applications/app_an_py310/routers/users.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_fields/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_fields/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_fields/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial005_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_multiple_params/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial007_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial008_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_nested_models/tutorial009_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_updates/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_updates/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/body_updates/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/conditional_openapi/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/conditional_openapi/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/configure_swagger_ui/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/configure_swagger_ui/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/configure_swagger_ui/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/configure_swagger_ui/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_param_models/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_params/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cookie_params/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cors/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/cors/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_docs_ui/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_docs_ui/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_docs_ui/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_request_and_route/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_request_and_route/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial001b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial006b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial006c_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial007_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial008_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial009_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial009b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial009c_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/custom_response/tutorial010_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dataclasses_/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dataclasses_/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dataclasses_/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dataclasses_/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/debugging/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/debugging/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial005_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial006_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial007_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008b_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008c_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008c_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008d_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008d_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008e_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial008e_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial010_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial011_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial011_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial012_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial012_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial013_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependencies/tutorial014_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependency_testing/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependency_testing/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/dependency_testing/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/encoder/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/encoder/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/events/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/events/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/events/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/events/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extending_openapi/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extending_openapi/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_data_types/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_data_types/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_data_types/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_models/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_models/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_models/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_models/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_models/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/extra_models/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/first_steps/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/first_steps/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/first_steps/tutorial003_py310.py +0 -0
- {fastapi-0.136.3/docs_src/generate_clients → fastapi-0.162.0/docs_src/frontend}/__init__.py +0 -0
- {fastapi-0.136.3/docs_src/graphql_ → fastapi-0.162.0/docs_src/generate_clients}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/generate_clients/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/generate_clients/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/generate_clients/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/generate_clients/tutorial004.js +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/generate_clients/tutorial004_py310.py +0 -0
- {fastapi-0.136.3/docs_src/handling_errors → fastapi-0.162.0/docs_src/graphql_}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/graphql_/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/header_param_models → fastapi-0.162.0/docs_src/handling_errors}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/handling_errors/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/handling_errors/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/handling_errors/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/handling_errors/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/handling_errors/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/handling_errors/tutorial006_py310.py +0 -0
- {fastapi-0.136.3/docs_src/header_params → fastapi-0.162.0/docs_src/header_param_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_param_models/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_param_models/tutorial003_py310.py +0 -0
- {fastapi-0.136.3/docs_src/json_base64_bytes → fastapi-0.162.0/docs_src/header_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_params/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_params/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_params/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_params/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_params/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/header_params/tutorial003_py310.py +0 -0
- {fastapi-0.136.3/docs_src/metadata → fastapi-0.162.0/docs_src/json_base64_bytes}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/json_base64_bytes/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/middleware → fastapi-0.162.0/docs_src/metadata}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/metadata/tutorial001_1_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/metadata/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/metadata/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/metadata/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/metadata/tutorial004_py310.py +0 -0
- {fastapi-0.136.3/docs_src/openapi_callbacks → fastapi-0.162.0/docs_src/middleware}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/middleware/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/openapi_webhooks → fastapi-0.162.0/docs_src/openapi_callbacks}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/openapi_callbacks/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/path_operation_advanced_configuration → fastapi-0.162.0/docs_src/openapi_webhooks}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/openapi_webhooks/tutorial001_py310.py +0 -0
- /fastapi-0.136.3/docs_src/path_params/tutorial002_py310.py → /fastapi-0.162.0/docs_src/opentelemetry/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/path_operation_configuration → fastapi-0.162.0/docs_src/path_operation_advanced_configuration}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_advanced_configuration/tutorial007_py310.py +0 -0
- {fastapi-0.136.3/docs_src/path_params → fastapi-0.162.0/docs_src/path_operation_configuration}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial002b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_operation_configuration/tutorial006_py310.py +0 -0
- {fastapi-0.136.3/docs_src/path_params_numeric_validations → fastapi-0.162.0/docs_src/path_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params/tutorial003b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params/tutorial005_py310.py +0 -0
- {fastapi-0.136.3/docs_src/pydantic_v1_in_v2 → fastapi-0.162.0/docs_src/path_params_numeric_validations}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial005_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial006_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/path_params_numeric_validations/tutorial006_py310.py +0 -0
- {fastapi-0.136.3/docs_src/python_types → fastapi-0.162.0/docs_src/pydantic_v1_in_v2}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/pydantic_v1_in_v2/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3/docs_src/query_param_models → fastapi-0.162.0/docs_src/python_types}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial007_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial008_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial008b_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial009_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial010_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial011_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/python_types/tutorial013_py310.py +0 -0
- {fastapi-0.136.3/docs_src/query_params → fastapi-0.162.0/docs_src/query_param_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_param_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_param_models/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_param_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_param_models/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/query_params_str_validations → fastapi-0.162.0/docs_src/query_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params/tutorial006_py310.py +0 -0
- {fastapi-0.136.3/docs_src/request_files → fastapi-0.162.0/docs_src/query_params_str_validations}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial005_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006c_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial006c_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial007_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial007_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial008_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial008_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial009_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial009_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial010_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial010_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial011_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial011_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial012_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial012_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial013_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial013_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial014_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial014_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/query_params_str_validations/tutorial015_an_py310.py +0 -0
- {fastapi-0.136.3/docs_src/request_form_models → fastapi-0.162.0/docs_src/request_files}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial001_02_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial001_02_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial001_03_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial001_03_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_files/tutorial003_py310.py +0 -0
- {fastapi-0.136.3/docs_src/request_forms → fastapi-0.162.0/docs_src/request_form_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_form_models/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_form_models/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_form_models/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_form_models/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/request_forms_and_files → fastapi-0.162.0/docs_src/request_forms}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_forms/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_forms/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/response_change_status_code → fastapi-0.162.0/docs_src/request_forms_and_files}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_forms_and_files/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/request_forms_and_files/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/response_cookies → fastapi-0.162.0/docs_src/response_change_status_code}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_change_status_code/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/response_directly → fastapi-0.162.0/docs_src/response_cookies}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_cookies/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_cookies/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/response_headers → fastapi-0.162.0/docs_src/response_directly}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_directly/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_directly/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/response_model → fastapi-0.162.0/docs_src/response_headers}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_headers/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_headers/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/response_status_code → fastapi-0.162.0/docs_src/response_model}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial001_01_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial003_01_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial003_02_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial003_03_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial003_04_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial003_05_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_model/tutorial006_py310.py +0 -0
- {fastapi-0.136.3/docs_src/schema_extra_example → fastapi-0.162.0/docs_src/response_status_code}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_status_code/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/response_status_code/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/security → fastapi-0.162.0/docs_src/schema_extra_example}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial005_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/schema_extra_example/tutorial005_py310.py +0 -0
- {fastapi-0.136.3/docs_src/separate_openapi_schemas → fastapi-0.162.0/docs_src/security}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial003_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial004_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial005_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial005_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial006_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial006_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial007_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/security/tutorial007_py310.py +0 -0
- {fastapi-0.136.3/docs_src/server_sent_events → fastapi-0.162.0/docs_src/separate_openapi_schemas}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/separate_openapi_schemas/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/separate_openapi_schemas/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/settings → fastapi-0.162.0/docs_src/server_sent_events}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial003_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial004_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/server_sent_events/tutorial005_py310.py +0 -0
- {fastapi-0.136.3/docs_src/settings/app01_py310 → fastapi-0.162.0/docs_src/settings}/__init__.py +0 -0
- {fastapi-0.136.3/docs_src/settings/app02_an_py310 → fastapi-0.162.0/docs_src/settings/app01_py310}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app01_py310/config.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app01_py310/main.py +0 -0
- {fastapi-0.136.3/docs_src/settings/app02_py310 → fastapi-0.162.0/docs_src/settings/app02_an_py310}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/config.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app02_an_py310/test_main.py +0 -0
- {fastapi-0.136.3/docs_src/settings/app03_an_py310 → fastapi-0.162.0/docs_src/settings/app02_py310}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app02_py310/config.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app02_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app02_py310/test_main.py +0 -0
- {fastapi-0.136.3/docs_src/settings/app03_py310 → fastapi-0.162.0/docs_src/settings/app03_an_py310}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app03_an_py310/config.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app03_an_py310/main.py +0 -0
- {fastapi-0.136.3/docs_src/sql_databases → fastapi-0.162.0/docs_src/settings/app03_py310}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app03_py310/config.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/app03_py310/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/settings/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/static_files → fastapi-0.162.0/docs_src/sql_databases}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/sql_databases/tutorial001_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/sql_databases/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/sql_databases/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/sql_databases/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/stream_data → fastapi-0.162.0/docs_src/static_files}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/static_files/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/stream_json_lines → fastapi-0.162.0/docs_src/stream_data}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/stream_data/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/stream_data/tutorial002_py310.py +0 -0
- {fastapi-0.136.3/docs_src/strict_content_type → fastapi-0.162.0/docs_src/stream_json_lines}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/stream_json_lines/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/sub_applications → fastapi-0.162.0/docs_src/strict_content_type}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/strict_content_type/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/templates → fastapi-0.162.0/docs_src/sub_applications}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/sub_applications/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/templates/static → fastapi-0.162.0/docs_src/templates}/__init__.py +0 -0
- {fastapi-0.136.3/docs_src/templates/templates → fastapi-0.162.0/docs_src/templates/static}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/templates/static/styles.css +0 -0
- {fastapi-0.136.3/docs_src/using_request_directly → fastapi-0.162.0/docs_src/templates/templates}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/templates/templates/item.html +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/templates/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/websockets_ → fastapi-0.162.0/docs_src/using_request_directly}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/using_request_directly/tutorial001_py310.py +0 -0
- {fastapi-0.136.3/docs_src/wsgi → fastapi-0.162.0/docs_src/websockets_}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/websockets_/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/websockets_/tutorial002_an_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/websockets_/tutorial002_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/websockets_/tutorial003_py310.py +0 -0
- {fastapi-0.136.3/fastapi/dependencies → fastapi-0.162.0/docs_src/wsgi}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/docs_src/wsgi/tutorial001_py310.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/__main__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/_compat/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/concurrency.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/datastructures.py +0 -0
- {fastapi-0.136.3/fastapi/openapi → fastapi-0.162.0/fastapi/dependencies}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/exception_handlers.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/exceptions.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/logger.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/asyncexitstack.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/cors.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/gzip.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/httpsredirect.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/trustedhost.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/middleware/wsgi.py +0 -0
- {fastapi-0.136.3/tests → fastapi-0.162.0/fastapi/openapi}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/openapi/constants.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/openapi/docs.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/openapi/models.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/py.typed +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/requests.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/responses.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/security/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/security/base.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/security/utils.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/staticfiles.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/templating.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/testclient.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/types.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/utils.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/fastapi/websockets.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/add_latest_release_date.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/deploy_docs_status.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/format.sh +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/general-llm-prompt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/cookie_param_models/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/header_param_models/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/json_base64_bytes/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/query_param_models/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/request_form_models/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image02.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image03.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image04.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/separate_openapi_schemas/image05.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/sql_databases/image01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/playwright/sql_databases/image02.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/test-cov-html.sh +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/test-cov.sh +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/test.sh +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/en_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_lines_number_gt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_lines_number_lt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_mermaid_not_translated.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_mermaid_translated.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_wrong_lang_code.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/data/translated_doc_wrong_lang_code_2.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_lines_number_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_mermaid.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_number_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_blocks/test_code_blocks_wrong_lang_code.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/data/en_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_code_includes/test_number_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/en_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/translated_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/data/translated_doc_expected.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_complex_doc/test_compex_doc.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/en_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_level_mismatch_1.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_level_mismatch_2.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/test_header_level_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_header_permalinks/test_header_number_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/data/en_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_html_links/test_html_links_number_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/en_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc_number_gt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/data/translated_doc_number_lt.md +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/tests/test_translation_fixer/test_markdown_links/test_mkd_links_number_mismatch.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/scripts/translation_fixer.py +0 -0
- {fastapi-0.136.3/tests/benchmarks → fastapi-0.162.0/tests}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_modules_same_name_body → fastapi-0.162.0/tests/benchmarks}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/benchmarks/test_general_performance.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/forward_reference_type.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/main.py +0 -0
- {fastapi-0.136.3/tests/test_modules_same_name_body/app → fastapi-0.162.0/tests/memory_benchmarks}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_properties.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_properties_bool.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_response_extra.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_bad.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_custom_model_in_callback.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_custom_validationerror.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_default_validationerror.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_response_class.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_router.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_additional_responses_union_duplicate_anyof.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_allow_inf_nan_in_enforcing.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_ambiguous_params.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_annotated.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_application.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_arbitrary_types.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_callable_endpoint.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_computed_fields.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_custom_schema_fields.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_custom_swagger_ui_redirect.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_datetime_custom_encoder.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_default_response_class_router.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependencies_utils.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_after_yield_raise.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_after_yield_streaming.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_after_yield_websockets.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_cache.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_class.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_contextmanager.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_contextvars.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_duplicates.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_overrides.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_paramless.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_partial.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_pep695.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_security_overrides.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_wrapped.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_yield_except_httpexception.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_yield_scope.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dependency_yield_scope_websockets.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_depends_hashable.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_dump_json_fast_path.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_duplicate_models_openapi.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_empty_router.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_enforce_once_required_parameter.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_exception_handlers.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_extra_routes.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_fastapi_cli.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_file_and_form_order_issue_9116.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_filter_pydantic_sub_model_pv2.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_form_default.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_forms_from_non_typing_sequences.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_forms_single_param.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_generate_unique_id_function.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_generic_parameterless_depends.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_get_model_definitions_formfeed_escape.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_get_request_body.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_http_connection_injection.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_include_route.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_include_router_defaults_overrides.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_infer_param_optionality.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_invalid_path_param.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_invalid_sequence_param.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_json_type.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_list_bytes_file_order_preserved_issue_14811.py +0 -0
- {fastapi-0.136.3/tests/test_request_params → fastapi-0.162.0/tests/test_modules_same_name_body}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_body → fastapi-0.162.0/tests/test_modules_same_name_body/app}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/a.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_modules_same_name_body/app/main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_modules_same_name_body/test_main.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_multi_body_errors.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_multi_query_errors.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_multipart_installation.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_no_schema_split.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_no_swagger_ui_redirect.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_cache_root_path.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_examples.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_model_description_trim_on_formfeed.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_query_parameter_extension.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_route_extensions.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_separate_input_output_schemas.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_openapi_servers.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_operations_signatures.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_param_class.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_param_in_path_and_dependency.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_param_include_in_schema.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_params_repr.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_path.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_put_no_body.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_pydantic_v1_error.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_pydanticv2_dataclasses_uuid_stringified_annotations.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_query.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_read_with_orm_mode.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_regex_deprecated_body.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_regex_deprecated_params.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_repeated_cookie_headers.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_repeated_dependency_schema.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_repeated_parameter_alias.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_cookie → fastapi-0.162.0/tests/test_request_params}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_file → fastapi-0.162.0/tests/test_request_params/test_body}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_body/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_body/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_body/test_optional_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_body/test_required_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_body/utils.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_form → fastapi-0.162.0/tests/test_request_params/test_cookie}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_optional_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_cookie/test_required_str.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_header → fastapi-0.162.0/tests/test_request_params/test_file}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_file/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_file/test_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_file/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_file/test_required.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_file/utils.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_path → fastapi-0.162.0/tests/test_request_params/test_form}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_form/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_form/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_form/test_optional_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_form/test_required_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_form/utils.py +0 -0
- {fastapi-0.136.3/tests/test_request_params/test_query → fastapi-0.162.0/tests/test_request_params/test_header}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_header/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_header/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_header/test_optional_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_header/test_required_str.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial → fastapi-0.162.0/tests/test_request_params/test_path}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_path/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_path/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_path/test_optional_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_path/test_required_str.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_additional_responses → fastapi-0.162.0/tests/test_request_params/test_query}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_query/test_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_query/test_optional_list.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_query/test_optional_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_request_params/test_query/test_required_str.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_required_noneable.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_by_alias.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_change_status_code.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_class_no_mediatype.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_code_no_body.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_dependency.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_model_data_filter.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_model_data_filter_no_inheritance.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_model_default_factory.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_model_include_exclude.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_model_invalid.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_model_sub_types.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_response_set_response_code_empty.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_return_none_stringified_annotations.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_route_scope.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_router_circular_import.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_router_prefix_with_template.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_router_redirect_slashes.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_schema_extra_examples.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_schema_ref_pydantic_v2.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_cookie.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_cookie_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_cookie_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_header.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_header_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_header_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_query.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_query_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_api_key_query_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_base.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_base_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_basic_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_basic_realm.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_basic_realm_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_bearer_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_bearer_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_digest.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_digest_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_http_digest_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer_scopes_openapi.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_authorization_code_bearer_scopes_openapi_simple.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_optional_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_password_bearer_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_oauth2_password_bearer_optional_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_openid_connect.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_openid_connect_description.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_openid_connect_optional.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_scopes.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_scopes_dont_propagate.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_security_scopes_sub_dependency.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_serialize_response.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_serialize_response_dataclass.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_serialize_response_model.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_starlette_exception.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_stream_json_validation_error.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_strict_content_type_app_level.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_strict_content_type_nested.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_strict_content_type_router_level.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_stringified_annotation_dependency.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_stringified_annotation_dependency_py314.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_stringified_annotations_simple.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_sub_callbacks.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_swagger_ui_init_oauth.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_additional_status_codes → fastapi-0.162.0/tests/test_telemetry}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_top_level_security_scheme_in_openapi.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tuples.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_advanced_middleware → fastapi-0.162.0/tests/test_tutorial}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_async_tests → fastapi-0.162.0/tests/test_tutorial/test_additional_responses}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_additional_responses/test_tutorial004.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_authentication_error_status_code → fastapi-0.162.0/tests/test_tutorial/test_additional_status_codes}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_additional_status_codes/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_background_tasks → fastapi-0.162.0/tests/test_tutorial/test_advanced_middleware}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_advanced_middleware/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_behind_a_proxy → fastapi-0.162.0/tests/test_tutorial/test_async_tests}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_async_tests/test_main_a.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_bigger_applications → fastapi-0.162.0/tests/test_tutorial/test_authentication_error_status_code}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_authentication_error_status_code/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_body → fastapi-0.162.0/tests/test_tutorial/test_background_tasks}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_background_tasks/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_background_tasks/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_body_fields → fastapi-0.162.0/tests/test_tutorial/test_behind_a_proxy}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_behind_a_proxy/test_tutorial001_01.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_body_multiple_params → fastapi-0.162.0/tests/test_tutorial/test_bigger_applications}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_bigger_applications/test_main.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_body_nested_models → fastapi-0.162.0/tests/test_tutorial/test_body}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body/test_tutorial004.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_body_updates → fastapi-0.162.0/tests/test_tutorial/test_body_fields}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_fields/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_conditional_openapi → fastapi-0.162.0/tests/test_tutorial/test_body_multiple_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_multiple_params/test_tutorial005.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_configure_swagger_ui → fastapi-0.162.0/tests/test_tutorial/test_body_nested_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial007.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial008.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_nested_models/test_tutorial009.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_cookie_param_models → fastapi-0.162.0/tests/test_tutorial/test_body_updates}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_updates/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_body_updates/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_cookie_params → fastapi-0.162.0/tests/test_tutorial/test_conditional_openapi}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_conditional_openapi/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_cors → fastapi-0.162.0/tests/test_tutorial/test_configure_swagger_ui}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_configure_swagger_ui/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_custom_docs_ui → fastapi-0.162.0/tests/test_tutorial/test_cookie_param_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_param_models/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_custom_request_and_route → fastapi-0.162.0/tests/test_tutorial/test_cookie_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_cookie_params/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_custom_response → fastapi-0.162.0/tests/test_tutorial/test_cors}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_cors/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_dataclasses → fastapi-0.162.0/tests/test_tutorial/test_custom_docs_ui}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_docs_ui/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_docs_ui/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_debugging → fastapi-0.162.0/tests/test_tutorial/test_custom_request_and_route}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_request_and_route/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_dependencies → fastapi-0.162.0/tests/test_tutorial/test_custom_response}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial001b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial002_tutorial003_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial006b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial006c.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial007.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial009c.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_custom_response/test_tutorial010.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_encoder → fastapi-0.162.0/tests/test_tutorial/test_dataclasses}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dataclasses/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_events → fastapi-0.162.0/tests/test_tutorial/test_debugging}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_extending_openapi → fastapi-0.162.0/tests/test_tutorial/test_dependencies}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial001_tutorial001_02.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial002_tutorial003_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial007.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008c.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008d.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial008e.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial010.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial011.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_dependencies/test_tutorial012.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_extra_data_types → fastapi-0.162.0/tests/test_tutorial/test_encoder}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_encoder/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_extra_models → fastapi-0.162.0/tests/test_tutorial/test_events}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_events/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_events/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_events/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_first_steps → fastapi-0.162.0/tests/test_tutorial/test_extending_openapi}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_extending_openapi/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_generate_clients → fastapi-0.162.0/tests/test_tutorial/test_extra_data_types}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_extra_data_types/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_graphql → fastapi-0.162.0/tests/test_tutorial/test_extra_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_extra_models/test_tutorial005.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_handling_errors → fastapi-0.162.0/tests/test_tutorial/test_first_steps}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_first_steps/test_tutorial001_tutorial002_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_header_param_models → fastapi-0.162.0/tests/test_tutorial/test_generate_clients}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_generate_clients/test_tutorial004.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_header_params → fastapi-0.162.0/tests/test_tutorial/test_graphql}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_graphql/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_json_base64_bytes → fastapi-0.162.0/tests/test_tutorial/test_handling_errors}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_handling_errors/test_tutorial006.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_metadata → fastapi-0.162.0/tests/test_tutorial/test_header_param_models}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_middleware → fastapi-0.162.0/tests/test_tutorial/test_header_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_header_params/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_openapi_callbacks → fastapi-0.162.0/tests/test_tutorial/test_json_base64_bytes}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_json_base64_bytes/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_openapi_webhooks → fastapi-0.162.0/tests/test_tutorial/test_metadata}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial001_1.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_metadata/test_tutorial004.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_path_operation_advanced_configurations → fastapi-0.162.0/tests/test_tutorial/test_middleware}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_middleware/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_path_operation_configurations → fastapi-0.162.0/tests/test_tutorial/test_openapi_callbacks}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_openapi_callbacks/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_path_params → fastapi-0.162.0/tests/test_tutorial/test_openapi_webhooks}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_path_params_numeric_validations → fastapi-0.162.0/tests/test_tutorial/test_opentelemetry}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_python_types → fastapi-0.162.0/tests/test_tutorial/test_path_operation_advanced_configurations}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_advanced_configurations/test_tutorial007.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_query_param_models → fastapi-0.162.0/tests/test_tutorial/test_path_operation_configurations}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial002b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial003_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_operation_configurations/test_tutorial006.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_query_params → fastapi-0.162.0/tests/test_tutorial/test_path_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial003b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params/test_tutorial005.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_query_params_str_validations → fastapi-0.162.0/tests/test_tutorial/test_path_params_numeric_validations}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial002_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_path_params_numeric_validations/test_tutorial006.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_request_files → fastapi-0.162.0/tests/test_tutorial/test_python_types}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial007.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial008.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial008b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial009_tutorial009b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial010.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial011.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_python_types/test_tutorial013.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_request_form_models → fastapi-0.162.0/tests/test_tutorial/test_query_param_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_param_models/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_request_forms → fastapi-0.162.0/tests/test_tutorial/test_query_params}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params/test_tutorial006.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_request_forms_and_files → fastapi-0.162.0/tests/test_tutorial/test_query_params_str_validations}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial007.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial008.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial009.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial010.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial012.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial013.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial014.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_query_params_str_validations/test_tutorial015.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_response_change_status_code → fastapi-0.162.0/tests/test_tutorial/test_request_files}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial001_02.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial001_03.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_files/test_tutorial003.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_response_cookies → fastapi-0.162.0/tests/test_tutorial/test_request_form_models}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_form_models/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_response_directly → fastapi-0.162.0/tests/test_tutorial/test_request_forms}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_forms/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_response_headers → fastapi-0.162.0/tests/test_tutorial/test_request_forms_and_files}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_request_forms_and_files/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_response_model → fastapi-0.162.0/tests/test_tutorial/test_response_change_status_code}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_change_status_code/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_response_status_code → fastapi-0.162.0/tests/test_tutorial/test_response_cookies}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_cookies/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_cookies/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_schema_extra_example → fastapi-0.162.0/tests/test_tutorial/test_response_directly}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_directly/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_directly/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_security → fastapi-0.162.0/tests/test_tutorial/test_response_headers}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_headers/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_headers/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_separate_openapi_schemas → fastapi-0.162.0/tests/test_tutorial/test_response_model}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial001_tutorial001_01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_02.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_03.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_04.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial003_05.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial005.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_model/test_tutorial006.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_server_sent_events → fastapi-0.162.0/tests/test_tutorial/test_response_status_code}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_response_status_code/test_tutorial001_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_settings → fastapi-0.162.0/tests/test_tutorial/test_schema_extra_example}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_schema_extra_example/test_tutorial005.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_sql_databases → fastapi-0.162.0/tests/test_tutorial/test_security}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial006.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_security/test_tutorial007.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_static_files → fastapi-0.162.0/tests/test_tutorial/test_separate_openapi_schemas}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_separate_openapi_schemas/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_stream_data → fastapi-0.162.0/tests/test_tutorial/test_server_sent_events}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial004.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_server_sent_events/test_tutorial005.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_stream_json_lines → fastapi-0.162.0/tests/test_tutorial/test_settings}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_app01.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_app02.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_app03.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_settings/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_strict_content_type → fastapi-0.162.0/tests/test_tutorial/test_sql_databases}/__init__.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_sub_applications → fastapi-0.162.0/tests/test_tutorial/test_static_files}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_static_files/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_templates → fastapi-0.162.0/tests/test_tutorial/test_stream_data}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_stream_data/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_stream_data/test_tutorial002.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_testing → fastapi-0.162.0/tests/test_tutorial/test_stream_json_lines}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_stream_json_lines/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_testing_dependencies → fastapi-0.162.0/tests/test_tutorial/test_strict_content_type}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_strict_content_type/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_using_request_directly → fastapi-0.162.0/tests/test_tutorial/test_sub_applications}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_sub_applications/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_websockets → fastapi-0.162.0/tests/test_tutorial/test_templates}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_templates/test_tutorial001.py +0 -0
- {fastapi-0.136.3/tests/test_tutorial/test_wsgi → fastapi-0.162.0/tests/test_tutorial/test_testing}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_main_a.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_main_b.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing/test_tutorial004.py +0 -0
- {fastapi-0.136.3/tests/test_validate_response_recursive → fastapi-0.162.0/tests/test_tutorial/test_testing_dependencies}/__init__.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_testing_dependencies/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_using_request_directly/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/test_tutorial002.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_websockets/test_tutorial003.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_tutorial/test_wsgi/test_tutorial001.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_typing_python39.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_union_body.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_union_forms.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_union_inherited_body.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_validate_response.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_validate_response_dataclass.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_validate_response_recursive/app.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_validate_response_recursive/test_validate_response_recursive.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_validation_error_context.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_wrapped_method_forward_reference.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_ws_dependencies.py +0 -0
- {fastapi-0.136.3 → fastapi-0.162.0}/tests/test_ws_router.py +0 -0
fastapi-0.162.0/PKG-INFO
ADDED
|
@@ -0,0 +1,622 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: fastapi
|
|
3
|
+
Version: 0.162.0
|
|
4
|
+
Summary: FastAPI framework, high performance, easy to learn, fast to code, ready for production
|
|
5
|
+
Author-Email: Sebastián Ramírez <tiangolo@gmail.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Classifier: Intended Audience :: Information Technology
|
|
9
|
+
Classifier: Intended Audience :: System Administrators
|
|
10
|
+
Classifier: Operating System :: OS Independent
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python
|
|
13
|
+
Classifier: Topic :: Internet
|
|
14
|
+
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
15
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
17
|
+
Classifier: Topic :: Software Development
|
|
18
|
+
Classifier: Typing :: Typed
|
|
19
|
+
Classifier: Development Status :: 4 - Beta
|
|
20
|
+
Classifier: Environment :: Web Environment
|
|
21
|
+
Classifier: Framework :: AsyncIO
|
|
22
|
+
Classifier: Framework :: FastAPI
|
|
23
|
+
Classifier: Framework :: Pydantic
|
|
24
|
+
Classifier: Framework :: Pydantic :: 2
|
|
25
|
+
Classifier: Intended Audience :: Developers
|
|
26
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
27
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
28
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
29
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
30
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
31
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
32
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
33
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
34
|
+
Project-URL: Homepage, https://github.com/fastapi/fastapi
|
|
35
|
+
Project-URL: Documentation, https://fastapi.tiangolo.com/
|
|
36
|
+
Project-URL: Repository, https://github.com/fastapi/fastapi
|
|
37
|
+
Project-URL: Issues, https://github.com/fastapi/fastapi/issues
|
|
38
|
+
Project-URL: Changelog, https://fastapi.tiangolo.com/release-notes/
|
|
39
|
+
Requires-Python: >=3.10
|
|
40
|
+
Requires-Dist: starlette>=0.46.0
|
|
41
|
+
Requires-Dist: pydantic>=2.9.0
|
|
42
|
+
Requires-Dist: typing-extensions>=4.8.0
|
|
43
|
+
Requires-Dist: typing-inspection>=0.4.2
|
|
44
|
+
Requires-Dist: annotated-doc>=0.0.2
|
|
45
|
+
Requires-Dist: opentelemetry-api>=1.44.0
|
|
46
|
+
Provides-Extra: opentelemetry
|
|
47
|
+
Requires-Dist: opentelemetry-sdk>=1.44.0; extra == "opentelemetry"
|
|
48
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.44.0; extra == "opentelemetry"
|
|
49
|
+
Provides-Extra: standard
|
|
50
|
+
Requires-Dist: opentelemetry-sdk>=1.44.0; extra == "standard"
|
|
51
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.44.0; extra == "standard"
|
|
52
|
+
Requires-Dist: fastapi-cli[standard]>=0.0.32; extra == "standard"
|
|
53
|
+
Requires-Dist: fastar>=0.9.0; extra == "standard"
|
|
54
|
+
Requires-Dist: httpx<1.0.0,>=0.23.0; extra == "standard"
|
|
55
|
+
Requires-Dist: httpx2>=2.0.0; extra == "standard"
|
|
56
|
+
Requires-Dist: jinja2>=3.1.5; extra == "standard"
|
|
57
|
+
Requires-Dist: python-multipart>=0.0.18; extra == "standard"
|
|
58
|
+
Requires-Dist: email-validator>=2.0.0; extra == "standard"
|
|
59
|
+
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "standard"
|
|
60
|
+
Requires-Dist: pydantic-settings>=2.0.0; extra == "standard"
|
|
61
|
+
Requires-Dist: pydantic-extra-types>=2.0.0; extra == "standard"
|
|
62
|
+
Provides-Extra: standard-no-fastapi-cloud-cli
|
|
63
|
+
Requires-Dist: opentelemetry-sdk>=1.44.0; extra == "standard-no-fastapi-cloud-cli"
|
|
64
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.44.0; extra == "standard-no-fastapi-cloud-cli"
|
|
65
|
+
Requires-Dist: fastapi-cli[standard-no-fastapi-cloud-cli]>=0.0.32; extra == "standard-no-fastapi-cloud-cli"
|
|
66
|
+
Requires-Dist: httpx<1.0.0,>=0.23.0; extra == "standard-no-fastapi-cloud-cli"
|
|
67
|
+
Requires-Dist: httpx2>=2.0.0; extra == "standard-no-fastapi-cloud-cli"
|
|
68
|
+
Requires-Dist: jinja2>=3.1.5; extra == "standard-no-fastapi-cloud-cli"
|
|
69
|
+
Requires-Dist: python-multipart>=0.0.18; extra == "standard-no-fastapi-cloud-cli"
|
|
70
|
+
Requires-Dist: email-validator>=2.0.0; extra == "standard-no-fastapi-cloud-cli"
|
|
71
|
+
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "standard-no-fastapi-cloud-cli"
|
|
72
|
+
Requires-Dist: pydantic-settings>=2.0.0; extra == "standard-no-fastapi-cloud-cli"
|
|
73
|
+
Requires-Dist: pydantic-extra-types>=2.0.0; extra == "standard-no-fastapi-cloud-cli"
|
|
74
|
+
Provides-Extra: all
|
|
75
|
+
Requires-Dist: opentelemetry-sdk>=1.44.0; extra == "all"
|
|
76
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.44.0; extra == "all"
|
|
77
|
+
Requires-Dist: fastapi-cli[standard]>=0.0.32; extra == "all"
|
|
78
|
+
Requires-Dist: httpx<1.0.0,>=0.23.0; extra == "all"
|
|
79
|
+
Requires-Dist: httpx2>=2.0.0; extra == "all"
|
|
80
|
+
Requires-Dist: jinja2>=3.1.5; extra == "all"
|
|
81
|
+
Requires-Dist: python-multipart>=0.0.18; extra == "all"
|
|
82
|
+
Requires-Dist: itsdangerous>=1.1.0; extra == "all"
|
|
83
|
+
Requires-Dist: pyyaml>=5.3.1; extra == "all"
|
|
84
|
+
Requires-Dist: email-validator>=2.0.0; extra == "all"
|
|
85
|
+
Requires-Dist: uvicorn[standard]>=0.12.0; extra == "all"
|
|
86
|
+
Requires-Dist: pydantic-settings>=2.0.0; extra == "all"
|
|
87
|
+
Requires-Dist: pydantic-extra-types>=2.0.0; extra == "all"
|
|
88
|
+
Description-Content-Type: text/markdown
|
|
89
|
+
|
|
90
|
+
<p align="center">
|
|
91
|
+
<a href="https://fastapi.tiangolo.com"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" alt="FastAPI"></a>
|
|
92
|
+
</p>
|
|
93
|
+
<p align="center">
|
|
94
|
+
<em>FastAPI framework, high performance, easy to learn, fast to code, ready for production</em>
|
|
95
|
+
</p>
|
|
96
|
+
<p align="center">
|
|
97
|
+
<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster">
|
|
98
|
+
<img src="https://github.com/fastapi/fastapi/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="Test">
|
|
99
|
+
</a>
|
|
100
|
+
<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi">
|
|
101
|
+
<img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="Coverage">
|
|
102
|
+
</a>
|
|
103
|
+
<a href="https://pypi.org/project/fastapi">
|
|
104
|
+
<img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">
|
|
105
|
+
</a>
|
|
106
|
+
<a href="https://pypi.org/project/fastapi">
|
|
107
|
+
<img src="https://img.shields.io/pypi/pyversions/fastapi.svg?color=%2334D058" alt="Supported Python versions">
|
|
108
|
+
</a>
|
|
109
|
+
</p>
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
**Documentation**: [https://fastapi.tiangolo.com](https://fastapi.tiangolo.com)
|
|
114
|
+
|
|
115
|
+
**Source Code**: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.
|
|
120
|
+
|
|
121
|
+
The key features are:
|
|
122
|
+
|
|
123
|
+
* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). [One of the fastest Python frameworks available](#performance).
|
|
124
|
+
* **Fast to code**: Increase the speed to develop features by about 200% to 300%. *
|
|
125
|
+
* **Fewer bugs**: Reduce about 40% of human (developer) induced errors. *
|
|
126
|
+
* **Intuitive**: Great editor support. <dfn title="also known as auto-complete, autocompletion, IntelliSense">Completion</dfn> everywhere. Less time debugging.
|
|
127
|
+
* **Easy**: Designed to be easy to use and learn. Less time reading docs.
|
|
128
|
+
* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.
|
|
129
|
+
* **Robust**: Get production-ready code. With automatic interactive documentation.
|
|
130
|
+
* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: [OpenAPI](https://github.com/OAI/OpenAPI-Specification) (previously known as Swagger) and [JSON Schema](https://json-schema.org/).
|
|
131
|
+
|
|
132
|
+
<small>* estimation based on tests conducted by an internal development team, building production applications.</small>
|
|
133
|
+
|
|
134
|
+
## Sponsors
|
|
135
|
+
|
|
136
|
+
<!-- sponsors -->
|
|
137
|
+
### Keystone Sponsor
|
|
138
|
+
|
|
139
|
+
<a href="https://fastapicloud.com" target="_blank" title="FastAPI Cloud. By the same team behind FastAPI. You code. We Cloud."><img src="https://fastapi.tiangolo.com/img/sponsors/fastapicloud.png"></a>
|
|
140
|
+
|
|
141
|
+
### Gold Sponsors
|
|
142
|
+
|
|
143
|
+
<a href="https://blockbee.io?ref=fastapi" target="_blank" title="BlockBee Cryptocurrency Payment Gateway"><img src="https://fastapi.tiangolo.com/img/sponsors/blockbee.png"></a>
|
|
144
|
+
<a href="https://www.propelauth.com/?utm_source=fastapi&utm_campaign=1223&utm_medium=mainbadge" target="_blank" title="Auth, user management and more for your B2B product"><img src="https://fastapi.tiangolo.com/img/sponsors/propelauth.png"></a>
|
|
145
|
+
<a href="https://www.coderabbit.ai/?utm_source=fastapi&utm_medium=badge&utm_campaign=fastapi" target="_blank" title="Cut Code Review Time & Bugs in Half with CodeRabbit"><img src="https://fastapi.tiangolo.com/img/sponsors/coderabbit.png"></a>
|
|
146
|
+
<a href="https://subtotal.com/?utm_source=fastapi&utm_medium=sponsorship&utm_campaign=open-source" target="_blank" title="The Gold Standard in Retail Account Linking"><img src="https://fastapi.tiangolo.com/img/sponsors/subtotal.svg"></a>
|
|
147
|
+
<a href="https://docs.railway.com/guides/fastapi?utm_medium=integration&utm_source=docs&utm_campaign=fastapi" target="_blank" title="Deploy enterprise applications at startup speed"><img src="https://fastapi.tiangolo.com/img/sponsors/railway.png"></a>
|
|
148
|
+
<a href="https://serpapi.com/?utm_source=fastapi_website" target="_blank" title="SerpApi: Web Search API"><img src="https://fastapi.tiangolo.com/img/sponsors/serpapi.png"></a>
|
|
149
|
+
<a href="https://www.greptile.com/?utm_source=fastapi&utm_medium=sponsorship&utm_campaign=fastapi_sponsor_page" target="_blank" title="Greptile: The AI Code Reviewer"><img src="https://fastapi.tiangolo.com/img/sponsors/greptile.png"></a>
|
|
150
|
+
|
|
151
|
+
### Silver Sponsors
|
|
152
|
+
|
|
153
|
+
<a href="https://databento.com/?utm_source=fastapi&utm_medium=sponsor&utm_content=display" target="_blank" title="Pay as you go for market data"><img src="https://fastapi.tiangolo.com/img/sponsors/databento.svg"></a>
|
|
154
|
+
<a href="https://www.svix.com/" target="_blank" title="Svix - Webhooks as a service"><img src="https://fastapi.tiangolo.com/img/sponsors/svix.svg"></a>
|
|
155
|
+
<a href="https://dribia.com/en/" target="_blank" title="Dribia - Data Science within your reach"><img src="https://fastapi.tiangolo.com/img/sponsors/dribia.png"></a>
|
|
156
|
+
<a href="https://www.bairesdev.com/" target="_blank" title="BairesDev | Nearshore Software Development & Staff Augmentation Company"><img src="https://fastapi.tiangolo.com/img/sponsors/bairesdev.svg"></a>
|
|
157
|
+
<a href="https://tutorcruncher.com/?utm_source=fastapi" target="_blank" title="TutorCruncher"><img src="https://fastapi.tiangolo.com/img/sponsors/tutorcruncher.png"></a>
|
|
158
|
+
|
|
159
|
+
<!-- /sponsors -->
|
|
160
|
+
|
|
161
|
+
[Other sponsors](https://fastapi.tiangolo.com/fastapi-people/#sponsors)
|
|
162
|
+
|
|
163
|
+
## Opinions
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
<div class="only-github" markdown="1">
|
|
168
|
+
|
|
169
|
+
"_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._"
|
|
170
|
+
|
|
171
|
+
<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(ref)</small></a></div>
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
"_We adopted the **FastAPI** library to spawn a **REST** server that can be queried to obtain **predictions**. [for Ludwig]_"
|
|
176
|
+
|
|
177
|
+
<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - <strong>Uber</strong> <a href="https://www.uber.com/us/en/blog/ludwig-v0-2/"><small>(ref)</small></a></div>
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
"_**Netflix** is pleased to announce the open-source release of our **crisis management** orchestration framework: **Dispatch**! [built with **FastAPI**]_"
|
|
182
|
+
|
|
183
|
+
<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(ref)</small></a></div>
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
"_If anyone is looking to build a production Python API, I would highly recommend **FastAPI**. It is **beautifully designed**, **simple to use** and **highly scalable**, it has become a **key component** in our API first development strategy and is driving many automations and services such as our Virtual TAC Engineer._"
|
|
188
|
+
|
|
189
|
+
<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
</div>
|
|
194
|
+
|
|
195
|
+
## FastAPI mini documentary
|
|
196
|
+
|
|
197
|
+
There's a [FastAPI mini documentary](https://www.youtube.com/watch?v=mpR8ngthqiE) released at the end of 2025, you can watch it online:
|
|
198
|
+
|
|
199
|
+
<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>
|
|
200
|
+
|
|
201
|
+
## **Typer**, the FastAPI of CLIs
|
|
202
|
+
|
|
203
|
+
<a href="https://typer.tiangolo.com"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a>
|
|
204
|
+
|
|
205
|
+
If you are building a <abbr title="Command Line Interface">CLI</abbr> app to be used in the terminal instead of a web API, check out [**Typer**](https://typer.tiangolo.com/).
|
|
206
|
+
|
|
207
|
+
**Typer** is FastAPI's little sibling. And it's intended to be the **FastAPI of CLIs**. ⌨️ 🚀
|
|
208
|
+
|
|
209
|
+
## Requirements
|
|
210
|
+
|
|
211
|
+
FastAPI stands on the shoulders of giants:
|
|
212
|
+
|
|
213
|
+
* [Starlette](https://starlette.dev/) for the web parts.
|
|
214
|
+
* [Pydantic](https://pydantic.dev/docs/) for the data parts.
|
|
215
|
+
|
|
216
|
+
## Installation
|
|
217
|
+
|
|
218
|
+
First, [install `uv`](https://docs.astral.sh/uv/getting-started/installation/), and then add FastAPI to your project:
|
|
219
|
+
|
|
220
|
+
<div class="termy">
|
|
221
|
+
|
|
222
|
+
```console
|
|
223
|
+
$ uv add "fastapi[standard]"
|
|
224
|
+
|
|
225
|
+
---> 100%
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
</div>
|
|
229
|
+
|
|
230
|
+
**Note**: Make sure you put `"fastapi[standard]"` in quotes to ensure it works in all terminals.
|
|
231
|
+
|
|
232
|
+
If you prefer to use `pip`, install `fastapi[standard]` inside a virtual environment. See the [installation guide](tutorial/#install-fastapi) for the alternative steps.
|
|
233
|
+
|
|
234
|
+
## Example
|
|
235
|
+
|
|
236
|
+
### Create it
|
|
237
|
+
|
|
238
|
+
Create a file `main.py` with:
|
|
239
|
+
|
|
240
|
+
```Python
|
|
241
|
+
from fastapi import FastAPI
|
|
242
|
+
|
|
243
|
+
app = FastAPI()
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
@app.get("/")
|
|
247
|
+
def read_root():
|
|
248
|
+
return {"Hello": "World"}
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
@app.get("/items/{item_id}")
|
|
252
|
+
def read_item(item_id: int, q: str | None = None):
|
|
253
|
+
return {"item_id": item_id, "q": q}
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
<details markdown="1">
|
|
257
|
+
<summary>Or use <code>async def</code>...</summary>
|
|
258
|
+
|
|
259
|
+
If your code uses `async` / `await`, use `async def`:
|
|
260
|
+
|
|
261
|
+
```Python hl_lines="7 12"
|
|
262
|
+
from fastapi import FastAPI
|
|
263
|
+
|
|
264
|
+
app = FastAPI()
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
@app.get("/")
|
|
268
|
+
async def read_root():
|
|
269
|
+
return {"Hello": "World"}
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
@app.get("/items/{item_id}")
|
|
273
|
+
async def read_item(item_id: int, q: str | None = None):
|
|
274
|
+
return {"item_id": item_id, "q": q}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Note**:
|
|
278
|
+
|
|
279
|
+
If you don't know, check the _"In a hurry?"_ section about [`async` and `await` in the docs](https://fastapi.tiangolo.com/async/#in-a-hurry).
|
|
280
|
+
|
|
281
|
+
</details>
|
|
282
|
+
|
|
283
|
+
### Run it
|
|
284
|
+
|
|
285
|
+
Run the server with:
|
|
286
|
+
|
|
287
|
+
<div class="termy">
|
|
288
|
+
|
|
289
|
+
```console
|
|
290
|
+
$ uv run fastapi dev
|
|
291
|
+
|
|
292
|
+
╭────────── FastAPI CLI - Development mode ───────────╮
|
|
293
|
+
│ │
|
|
294
|
+
│ Serving at: http://127.0.0.1:8000 │
|
|
295
|
+
│ │
|
|
296
|
+
│ API docs: http://127.0.0.1:8000/docs │
|
|
297
|
+
│ │
|
|
298
|
+
│ Running in development mode, for production use: │
|
|
299
|
+
│ │
|
|
300
|
+
│ fastapi run │
|
|
301
|
+
│ │
|
|
302
|
+
╰─────────────────────────────────────────────────────╯
|
|
303
|
+
|
|
304
|
+
INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
|
|
305
|
+
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
|
|
306
|
+
INFO: Started reloader process [2248755] using WatchFiles
|
|
307
|
+
INFO: Started server process [2248757]
|
|
308
|
+
INFO: Waiting for application startup.
|
|
309
|
+
INFO: Application startup complete.
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
</div>
|
|
313
|
+
|
|
314
|
+
<details markdown="1">
|
|
315
|
+
<summary>About the command <code>fastapi dev</code>...</summary>
|
|
316
|
+
|
|
317
|
+
The command `fastapi dev` reads your `main.py` file automatically, detects the **FastAPI** app in it, and starts a server using [Uvicorn](https://uvicorn.dev).
|
|
318
|
+
|
|
319
|
+
By default, `fastapi dev` will start with auto-reload enabled for local development.
|
|
320
|
+
|
|
321
|
+
You can read more about it in the [FastAPI CLI docs](https://fastapi.tiangolo.com/fastapi-cli/).
|
|
322
|
+
|
|
323
|
+
</details>
|
|
324
|
+
|
|
325
|
+
### Check it
|
|
326
|
+
|
|
327
|
+
Open your browser at [http://127.0.0.1:8000/items/5?q=somequery](http://127.0.0.1:8000/items/5?q=somequery).
|
|
328
|
+
|
|
329
|
+
You will see the JSON response as:
|
|
330
|
+
|
|
331
|
+
```JSON
|
|
332
|
+
{"item_id": 5, "q": "somequery"}
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
You already created an API that:
|
|
336
|
+
|
|
337
|
+
* Receives HTTP requests in the _paths_ `/` and `/items/{item_id}`.
|
|
338
|
+
* Both _paths_ take `GET` <em>operations</em> (also known as HTTP _methods_).
|
|
339
|
+
* The _path_ `/items/{item_id}` has a _path parameter_ `item_id` that should be an `int`.
|
|
340
|
+
* The _path_ `/items/{item_id}` has an optional `str` _query parameter_ `q`.
|
|
341
|
+
|
|
342
|
+
### Interactive API docs
|
|
343
|
+
|
|
344
|
+
Now go to [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs).
|
|
345
|
+
|
|
346
|
+
You will see the automatic interactive API documentation (provided by [Swagger UI](https://github.com/swagger-api/swagger-ui)):
|
|
347
|
+
|
|
348
|
+

|
|
349
|
+
|
|
350
|
+
### Alternative API docs
|
|
351
|
+
|
|
352
|
+
And now, go to [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc).
|
|
353
|
+
|
|
354
|
+
You will see the alternative automatic documentation (provided by [ReDoc](https://github.com/Redocly/redoc)):
|
|
355
|
+
|
|
356
|
+

|
|
357
|
+
|
|
358
|
+
## Example upgrade
|
|
359
|
+
|
|
360
|
+
Now modify the file `main.py` to receive a body from a `PUT` request.
|
|
361
|
+
|
|
362
|
+
Declare the body using standard Python types, thanks to Pydantic.
|
|
363
|
+
|
|
364
|
+
```Python hl_lines="2 7-10 23-25"
|
|
365
|
+
from fastapi import FastAPI
|
|
366
|
+
from pydantic import BaseModel
|
|
367
|
+
|
|
368
|
+
app = FastAPI()
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
class Item(BaseModel):
|
|
372
|
+
name: str
|
|
373
|
+
price: float
|
|
374
|
+
is_offer: bool | None = None
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
@app.get("/")
|
|
378
|
+
def read_root():
|
|
379
|
+
return {"Hello": "World"}
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
@app.get("/items/{item_id}")
|
|
383
|
+
def read_item(item_id: int, q: str | None = None):
|
|
384
|
+
return {"item_id": item_id, "q": q}
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
@app.put("/items/{item_id}")
|
|
388
|
+
def update_item(item_id: int, item: Item):
|
|
389
|
+
return {"item_name": item.name, "item_id": item_id}
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
The `fastapi dev` server should reload automatically.
|
|
393
|
+
|
|
394
|
+
### Interactive API docs upgrade
|
|
395
|
+
|
|
396
|
+
Now go to [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs).
|
|
397
|
+
|
|
398
|
+
* The interactive API documentation will be automatically updated, including the new body:
|
|
399
|
+
|
|
400
|
+

|
|
401
|
+
|
|
402
|
+
* Click on the button "Try it out", it allows you to fill the parameters and directly interact with the API:
|
|
403
|
+
|
|
404
|
+

|
|
405
|
+
|
|
406
|
+
* Then click on the "Execute" button, the user interface will communicate with your API, send the parameters, get the results and show them on the screen:
|
|
407
|
+
|
|
408
|
+

|
|
409
|
+
|
|
410
|
+
### Alternative API docs upgrade
|
|
411
|
+
|
|
412
|
+
And now, go to [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc).
|
|
413
|
+
|
|
414
|
+
* The alternative documentation will also reflect the new query parameter and body:
|
|
415
|
+
|
|
416
|
+

|
|
417
|
+
|
|
418
|
+
### Recap
|
|
419
|
+
|
|
420
|
+
In summary, you declare **once** the types of parameters, body, etc. as function parameters.
|
|
421
|
+
|
|
422
|
+
You do that with standard modern Python types.
|
|
423
|
+
|
|
424
|
+
You don't have to learn a new syntax, the methods or classes of a specific library, etc.
|
|
425
|
+
|
|
426
|
+
Just standard **Python**.
|
|
427
|
+
|
|
428
|
+
For example, for an `int`:
|
|
429
|
+
|
|
430
|
+
```Python
|
|
431
|
+
item_id: int
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
or for a more complex `Item` model:
|
|
435
|
+
|
|
436
|
+
```Python
|
|
437
|
+
item: Item
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
...and with that single declaration you get:
|
|
441
|
+
|
|
442
|
+
* Editor support, including:
|
|
443
|
+
* Completion.
|
|
444
|
+
* Type checks.
|
|
445
|
+
* Validation of data:
|
|
446
|
+
* Automatic and clear errors when the data is invalid.
|
|
447
|
+
* Validation even for deeply nested JSON objects.
|
|
448
|
+
* <dfn title="also known as: serialization, parsing, marshalling">Conversion</dfn> of input data: coming from the network to Python data and types. Reading from:
|
|
449
|
+
* JSON.
|
|
450
|
+
* Path parameters.
|
|
451
|
+
* Query parameters.
|
|
452
|
+
* Cookies.
|
|
453
|
+
* Headers.
|
|
454
|
+
* Forms.
|
|
455
|
+
* Files.
|
|
456
|
+
* <dfn title="also known as: serialization, parsing, marshalling">Conversion</dfn> of output data: converting from Python data and types to network data (as JSON):
|
|
457
|
+
* Convert Python types (`str`, `int`, `float`, `bool`, `list`, etc).
|
|
458
|
+
* `datetime` objects.
|
|
459
|
+
* `UUID` objects.
|
|
460
|
+
* Database models.
|
|
461
|
+
* ...and many more.
|
|
462
|
+
* Automatic interactive API documentation, including 2 alternative user interfaces:
|
|
463
|
+
* Swagger UI.
|
|
464
|
+
* ReDoc.
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
Coming back to the previous code example, **FastAPI** will:
|
|
469
|
+
|
|
470
|
+
* Validate that there is an `item_id` in the path for `GET` and `PUT` requests.
|
|
471
|
+
* Validate that the `item_id` is of type `int` for `GET` and `PUT` requests.
|
|
472
|
+
* If it is not, the client will see a useful, clear error.
|
|
473
|
+
* Check if there is an optional query parameter named `q` (as in `http://127.0.0.1:8000/items/foo?q=somequery`) for `GET` requests.
|
|
474
|
+
* As the `q` parameter is declared with `= None`, it is optional.
|
|
475
|
+
* Without the `None` it would be required (as is the body in the case with `PUT`).
|
|
476
|
+
* For `PUT` requests to `/items/{item_id}`, read the body as JSON:
|
|
477
|
+
* Check that it has a required attribute `name` that should be a `str`.
|
|
478
|
+
* Check that it has a required attribute `price` that has to be a `float`.
|
|
479
|
+
* Check that it has an optional attribute `is_offer`, that should be a `bool`, if present.
|
|
480
|
+
* All this would also work for deeply nested JSON objects.
|
|
481
|
+
* Convert from and to JSON automatically.
|
|
482
|
+
* Document everything with OpenAPI, that can be used by:
|
|
483
|
+
* Interactive documentation systems.
|
|
484
|
+
* Automatic client code generation systems, for many languages.
|
|
485
|
+
* Provide 2 interactive documentation web interfaces directly.
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
We just scratched the surface, but you already get the idea of how it all works.
|
|
490
|
+
|
|
491
|
+
Try changing the line with:
|
|
492
|
+
|
|
493
|
+
```Python
|
|
494
|
+
return {"item_name": item.name, "item_id": item_id}
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
...from:
|
|
498
|
+
|
|
499
|
+
```Python
|
|
500
|
+
... "item_name": item.name ...
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
...to:
|
|
504
|
+
|
|
505
|
+
```Python
|
|
506
|
+
... "item_price": item.price ...
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
...and see how your editor will auto-complete the attributes and know their types:
|
|
510
|
+
|
|
511
|
+

|
|
512
|
+
|
|
513
|
+
For a more complete example including more features, see the <a href="https://fastapi.tiangolo.com/tutorial/">Tutorial - User Guide</a>.
|
|
514
|
+
|
|
515
|
+
**Spoiler alert**: the tutorial - user guide includes:
|
|
516
|
+
|
|
517
|
+
* Declaration of **parameters** from other different places such as: **headers**, **cookies**, **form fields** and **files**.
|
|
518
|
+
* How to set **validation constraints** such as `maximum_length` or `regex`.
|
|
519
|
+
* A very powerful and easy to use **<dfn title="also known as components, resources, providers, services, injectables">Dependency Injection</dfn>** system.
|
|
520
|
+
* Security and authentication, including support for **OAuth2** with **JWT tokens** and **HTTP Basic** auth.
|
|
521
|
+
* More advanced (but equally easy) techniques for declaring **deeply nested JSON models** (thanks to Pydantic).
|
|
522
|
+
* **GraphQL** integration with [Strawberry](https://strawberry.rocks) and other libraries.
|
|
523
|
+
* Many extra features (thanks to Starlette) such as:
|
|
524
|
+
* **WebSockets**
|
|
525
|
+
* extremely easy tests based on HTTPX and `pytest`
|
|
526
|
+
* **CORS**
|
|
527
|
+
* **Cookie Sessions**
|
|
528
|
+
* ...and more.
|
|
529
|
+
|
|
530
|
+
### Deploy your app (optional)
|
|
531
|
+
|
|
532
|
+
You can optionally deploy your FastAPI app to [FastAPI Cloud](https://fastapicloud.com) with a single command. 🚀
|
|
533
|
+
|
|
534
|
+
<div class="termy">
|
|
535
|
+
|
|
536
|
+
```console
|
|
537
|
+
$ uv run fastapi deploy
|
|
538
|
+
|
|
539
|
+
Deploying to FastAPI Cloud...
|
|
540
|
+
|
|
541
|
+
✅ Deployment successful!
|
|
542
|
+
|
|
543
|
+
🐔 Ready the chicken! Your app is ready at https://myapp.fastapicloud.dev
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
</div>
|
|
547
|
+
|
|
548
|
+
The CLI will automatically detect your FastAPI application and deploy it to the cloud. If you are not logged in, your browser will open to complete the authentication process.
|
|
549
|
+
|
|
550
|
+
That's it! Now you can access your app at that URL. ✨
|
|
551
|
+
|
|
552
|
+
#### About FastAPI Cloud
|
|
553
|
+
|
|
554
|
+
**[FastAPI Cloud](https://fastapicloud.com)** is built by the same author and team behind **FastAPI**.
|
|
555
|
+
|
|
556
|
+
It streamlines the process of **building**, **deploying**, and **accessing** an API with minimal effort.
|
|
557
|
+
|
|
558
|
+
It brings the same **developer experience** of building apps with FastAPI to **deploying** them to the cloud. 🎉
|
|
559
|
+
|
|
560
|
+
FastAPI Cloud is the primary sponsor and funding provider for the *FastAPI and friends* open source projects. ✨
|
|
561
|
+
|
|
562
|
+
#### Deploy to other cloud providers
|
|
563
|
+
|
|
564
|
+
FastAPI is open source and based on standards. You can deploy FastAPI apps to any cloud provider you choose.
|
|
565
|
+
|
|
566
|
+
Follow your cloud provider's guides to deploy FastAPI apps with them. 🤓
|
|
567
|
+
|
|
568
|
+
## Performance
|
|
569
|
+
|
|
570
|
+
Independent TechEmpower benchmarks show **FastAPI** applications running under Uvicorn as [one of the fastest Python frameworks available](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7), only below Starlette and Uvicorn themselves (used internally by FastAPI). (*)
|
|
571
|
+
|
|
572
|
+
To understand more about it, see the section [Benchmarks](https://fastapi.tiangolo.com/benchmarks/).
|
|
573
|
+
|
|
574
|
+
## Dependencies
|
|
575
|
+
|
|
576
|
+
FastAPI depends on Pydantic and Starlette.
|
|
577
|
+
|
|
578
|
+
### `standard` Dependencies
|
|
579
|
+
|
|
580
|
+
When you install FastAPI with `uv add "fastapi[standard]"` it comes with the `standard` group of optional dependencies:
|
|
581
|
+
|
|
582
|
+
Used by Pydantic:
|
|
583
|
+
|
|
584
|
+
* [`email-validator`](https://github.com/JoshData/python-email-validator) - for email validation.
|
|
585
|
+
|
|
586
|
+
Used by Starlette:
|
|
587
|
+
|
|
588
|
+
* [`httpx2`](https://pydantic.dev/docs/httpx2/) (or `httpx`) - Used by the `TestClient`.
|
|
589
|
+
* [`jinja2`](https://jinja.palletsprojects.com) - Required if you want to use the default template configuration.
|
|
590
|
+
* [`python-multipart`](https://github.com/Kludex/python-multipart) - Required if you want to support form <dfn title="converting the string that comes from an HTTP request into Python data">"parsing"</dfn>, with `request.form()`.
|
|
591
|
+
|
|
592
|
+
Used by FastAPI:
|
|
593
|
+
|
|
594
|
+
* [`uvicorn`](https://uvicorn.dev) - for the server that loads and serves your application. This includes `uvicorn[standard]`, which includes some dependencies (e.g. `uvloop`) needed for high performance serving.
|
|
595
|
+
* `fastapi-cli[standard]` - to provide the `fastapi` command.
|
|
596
|
+
* This includes `fastapi-cloud-cli`, which allows you to deploy your FastAPI application to [FastAPI Cloud](https://fastapicloud.com).
|
|
597
|
+
|
|
598
|
+
### Without `standard` Dependencies
|
|
599
|
+
|
|
600
|
+
If you don't want to include the `standard` optional dependencies, you can install with `uv add fastapi` instead of `uv add "fastapi[standard]"`.
|
|
601
|
+
|
|
602
|
+
### Without `fastapi-cloud-cli`
|
|
603
|
+
|
|
604
|
+
If you want to install FastAPI with the standard dependencies but without the `fastapi-cloud-cli`, you can install with `uv add "fastapi[standard-no-fastapi-cloud-cli]"`.
|
|
605
|
+
|
|
606
|
+
### Additional Optional Dependencies
|
|
607
|
+
|
|
608
|
+
There are some additional dependencies you might want to install.
|
|
609
|
+
|
|
610
|
+
Additional optional Pydantic dependencies:
|
|
611
|
+
|
|
612
|
+
* [`pydantic-settings`](https://pydantic.dev/docs/validation/latest/concepts/pydantic_settings/) - for settings management.
|
|
613
|
+
* [`pydantic-extra-types`](https://github.com/pydantic/pydantic-extra-types) - for extra types to be used with Pydantic.
|
|
614
|
+
|
|
615
|
+
Additional optional FastAPI dependencies:
|
|
616
|
+
|
|
617
|
+
* [`orjson`](https://github.com/ijl/orjson) - Required if you want to use `ORJSONResponse`.
|
|
618
|
+
* [`ujson`](https://github.com/ultrajson/ultrajson) - Required if you want to use `UJSONResponse`.
|
|
619
|
+
|
|
620
|
+
## License
|
|
621
|
+
|
|
622
|
+
This project is licensed under the terms of the MIT license.
|