]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commit
✨ Add docs and tests for Python 3.9 and Python 3.10 (#3712)
authorSebastián Ramírez <tiangolo@gmail.com>
Fri, 7 Jan 2022 14:11:31 +0000 (15:11 +0100)
committerGitHub <noreply@github.com>
Fri, 7 Jan 2022 14:11:31 +0000 (15:11 +0100)
commitd08a062ee2121f446537f06c8425cdeb1209e4ea
treec0a32295402198e86ee2cfbe7503cef9ab5b9d2d
parent83f67810371f48c22b7955de926d86e42ac30416
✨ Add docs and tests for Python 3.9 and Python 3.10 (#3712)

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
219 files changed:
.github/workflows/test.yml
docs/az/mkdocs.yml
docs/de/mkdocs.yml
docs/en/docs/python-types.md
docs/en/docs/tutorial/background-tasks.md
docs/en/docs/tutorial/body-fields.md
docs/en/docs/tutorial/body-multiple-params.md
docs/en/docs/tutorial/body-nested-models.md
docs/en/docs/tutorial/body-updates.md
docs/en/docs/tutorial/body.md
docs/en/docs/tutorial/cookie-params.md
docs/en/docs/tutorial/dependencies/classes-as-dependencies.md
docs/en/docs/tutorial/dependencies/index.md
docs/en/docs/tutorial/dependencies/sub-dependencies.md
docs/en/docs/tutorial/encoder.md
docs/en/docs/tutorial/extra-data-types.md
docs/en/docs/tutorial/extra-models.md
docs/en/docs/tutorial/header-params.md
docs/en/docs/tutorial/path-operation-configuration.md
docs/en/docs/tutorial/path-params-numeric-validations.md
docs/en/docs/tutorial/query-params-str-validations.md
docs/en/docs/tutorial/query-params.md
docs/en/docs/tutorial/request-files.md
docs/en/docs/tutorial/response-model.md
docs/en/docs/tutorial/schema-extra-example.md
docs/en/docs/tutorial/security/get-current-user.md
docs/en/docs/tutorial/security/oauth2-jwt.md
docs/en/docs/tutorial/security/simple-oauth2.md
docs/en/docs/tutorial/sql-databases.md
docs/en/docs/tutorial/testing.md
docs/en/mkdocs.yml
docs/es/mkdocs.yml
docs/fr/mkdocs.yml
docs/id/mkdocs.yml
docs/it/mkdocs.yml
docs/ja/mkdocs.yml
docs/ko/mkdocs.yml
docs/pl/mkdocs.yml
docs/pt/mkdocs.yml
docs/ru/mkdocs.yml
docs/sq/mkdocs.yml
docs/tr/mkdocs.yml
docs/uk/mkdocs.yml
docs/zh/mkdocs.yml
docs_src/app_testing/app_b/__init__.py [new file with mode: 0644]
docs_src/app_testing/app_b/main.py [moved from docs_src/app_testing/main_b.py with 100% similarity]
docs_src/app_testing/app_b/test_main.py [moved from docs_src/app_testing/test_main_b.py with 98% similarity]
docs_src/app_testing/app_b_py310/__init__.py [new file with mode: 0644]
docs_src/app_testing/app_b_py310/main.py [new file with mode: 0644]
docs_src/app_testing/app_b_py310/test_main.py [new file with mode: 0644]
docs_src/background_tasks/tutorial002_py310.py [new file with mode: 0644]
docs_src/body/tutorial001_py310.py [new file with mode: 0644]
docs_src/body/tutorial002_py310.py [new file with mode: 0644]
docs_src/body/tutorial003_py310.py [new file with mode: 0644]
docs_src/body/tutorial004_py310.py [new file with mode: 0644]
docs_src/body_fields/tutorial001_py310.py [new file with mode: 0644]
docs_src/body_multiple_params/tutorial001_py310.py [new file with mode: 0644]
docs_src/body_multiple_params/tutorial002_py310.py [new file with mode: 0644]
docs_src/body_multiple_params/tutorial003_py310.py [new file with mode: 0644]
docs_src/body_multiple_params/tutorial004_py310.py [new file with mode: 0644]
docs_src/body_multiple_params/tutorial005_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial001_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial002_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial002_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial003_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial003_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial004_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial004_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial005_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial005_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial006_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial006_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial007_py310.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial007_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial008_py39.py [new file with mode: 0644]
docs_src/body_nested_models/tutorial009_py39.py [new file with mode: 0644]
docs_src/body_updates/tutorial001_py310.py [new file with mode: 0644]
docs_src/body_updates/tutorial001_py39.py [new file with mode: 0644]
docs_src/body_updates/tutorial002_py310.py [new file with mode: 0644]
docs_src/body_updates/tutorial002_py39.py [new file with mode: 0644]
docs_src/cookie_params/tutorial001_py310.py [new file with mode: 0644]
docs_src/dependencies/tutorial001_py310.py [new file with mode: 0644]
docs_src/dependencies/tutorial002_py310.py [new file with mode: 0644]
docs_src/dependencies/tutorial003_py310.py [new file with mode: 0644]
docs_src/dependencies/tutorial004_py310.py [new file with mode: 0644]
docs_src/dependencies/tutorial005_py310.py [new file with mode: 0644]
docs_src/encoder/tutorial001_py310.py [new file with mode: 0644]
docs_src/extra_data_types/tutorial001_py310.py [new file with mode: 0644]
docs_src/extra_models/tutorial001_py310.py [new file with mode: 0644]
docs_src/extra_models/tutorial002_py310.py [new file with mode: 0644]
docs_src/extra_models/tutorial003_py310.py [new file with mode: 0644]
docs_src/extra_models/tutorial004_py39.py [new file with mode: 0644]
docs_src/extra_models/tutorial005_py39.py [new file with mode: 0644]
docs_src/header_params/tutorial001_py310.py [new file with mode: 0644]
docs_src/header_params/tutorial002_py310.py [new file with mode: 0644]
docs_src/header_params/tutorial003_py310.py [new file with mode: 0644]
docs_src/header_params/tutorial003_py39.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial001.py
docs_src/path_operation_configuration/tutorial001_py310.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial001_py39.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial002.py
docs_src/path_operation_configuration/tutorial002_py310.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial002_py39.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial003.py
docs_src/path_operation_configuration/tutorial003_py310.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial003_py39.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial004.py
docs_src/path_operation_configuration/tutorial004_py310.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial004_py39.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial005.py
docs_src/path_operation_configuration/tutorial005_py310.py [new file with mode: 0644]
docs_src/path_operation_configuration/tutorial005_py39.py [new file with mode: 0644]
docs_src/path_params_numeric_validations/tutorial001_py310.py [new file with mode: 0644]
docs_src/python_types/tutorial006_py39.py [new file with mode: 0644]
docs_src/python_types/tutorial007_py39.py [new file with mode: 0644]
docs_src/python_types/tutorial008.py
docs_src/python_types/tutorial008b.py [new file with mode: 0644]
docs_src/python_types/tutorial008b_py310.py [new file with mode: 0644]
docs_src/python_types/tutorial009_py310.py [new file with mode: 0644]
docs_src/python_types/tutorial009b.py [new file with mode: 0644]
docs_src/python_types/tutorial011_py310.py [new file with mode: 0644]
docs_src/python_types/tutorial011_py39.py [new file with mode: 0644]
docs_src/query_params/tutorial002_py310.py [new file with mode: 0644]
docs_src/query_params/tutorial003_py310.py [new file with mode: 0644]
docs_src/query_params/tutorial004_py310.py [new file with mode: 0644]
docs_src/query_params/tutorial006_py310.py [new file with mode: 0644]
docs_src/query_params/tutorial006b.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial001_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial002_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial003_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial004_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial007_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial008_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial009_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial010_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial011_py310.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial011_py39.py [new file with mode: 0644]
docs_src/query_params_str_validations/tutorial012_py39.py [new file with mode: 0644]
docs_src/request_files/tutorial002_py39.py [new file with mode: 0644]
docs_src/response_model/tutorial001_py310.py [new file with mode: 0644]
docs_src/response_model/tutorial001_py39.py [new file with mode: 0644]
docs_src/response_model/tutorial002_py310.py [new file with mode: 0644]
docs_src/response_model/tutorial003_py310.py [new file with mode: 0644]
docs_src/response_model/tutorial004_py310.py [new file with mode: 0644]
docs_src/response_model/tutorial004_py39.py [new file with mode: 0644]
docs_src/response_model/tutorial005_py310.py [new file with mode: 0644]
docs_src/response_model/tutorial006_py310.py [new file with mode: 0644]
docs_src/schema_extra_example/tutorial001_py310.py [new file with mode: 0644]
docs_src/schema_extra_example/tutorial002_py310.py [new file with mode: 0644]
docs_src/schema_extra_example/tutorial003_py310.py [new file with mode: 0644]
docs_src/schema_extra_example/tutorial004_py310.py [new file with mode: 0644]
docs_src/security/tutorial002_py310.py [new file with mode: 0644]
docs_src/security/tutorial003_py310.py [new file with mode: 0644]
docs_src/security/tutorial004_py310.py [new file with mode: 0644]
docs_src/security/tutorial005_py310.py [new file with mode: 0644]
docs_src/security/tutorial005_py39.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/__init__.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/alt_main.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/crud.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/database.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/main.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/models.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/schemas.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/tests/__init__.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py310/tests/test_sql_app.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/__init__.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/alt_main.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/crud.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/database.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/main.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/models.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/schemas.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/tests/__init__.py [new file with mode: 0644]
docs_src/sql_databases/sql_app_py39/tests/test_sql_app.py [new file with mode: 0644]
pyproject.toml
tests/test_tutorial/test_background_tasks/test_tutorial002_py310.py [new file with mode: 0644]
tests/test_tutorial/test_body/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_body_fields/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_body_multiple_params/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_body_multiple_params/test_tutorial003_py310.py [new file with mode: 0644]
tests/test_tutorial/test_body_nested_models/test_tutorial009_py39.py [new file with mode: 0644]
tests/test_tutorial/test_body_updates/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_body_updates/test_tutorial001_py39.py [new file with mode: 0644]
tests/test_tutorial/test_cookie_params/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_dependencies/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_dependencies/test_tutorial004_py310.py [new file with mode: 0644]
tests/test_tutorial/test_extra_data_types/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_extra_models/test_tutorial003_py310.py [new file with mode: 0644]
tests/test_tutorial/test_extra_models/test_tutorial004_py39.py [new file with mode: 0644]
tests/test_tutorial/test_extra_models/test_tutorial005_py39.py [new file with mode: 0644]
tests/test_tutorial/test_header_params/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py310.py [new file with mode: 0644]
tests/test_tutorial/test_path_operation_configurations/test_tutorial005_py39.py [new file with mode: 0644]
tests/test_tutorial/test_query_params/test_tutorial006_py310.py [new file with mode: 0644]
tests/test_tutorial/test_query_params_str_validations/test_tutorial001_py310.py [new file with mode: 0644]
tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py310.py [new file with mode: 0644]
tests/test_tutorial/test_query_params_str_validations/test_tutorial011_py39.py [new file with mode: 0644]
tests/test_tutorial/test_query_params_str_validations/test_tutorial012_py39.py [new file with mode: 0644]
tests/test_tutorial/test_request_files/test_tutorial002_py39.py [new file with mode: 0644]
tests/test_tutorial/test_response_model/test_tutorial003_py310.py [new file with mode: 0644]
tests/test_tutorial/test_response_model/test_tutorial004_py310.py [new file with mode: 0644]
tests/test_tutorial/test_response_model/test_tutorial004_py39.py [new file with mode: 0644]
tests/test_tutorial/test_response_model/test_tutorial005_py310.py [new file with mode: 0644]
tests/test_tutorial/test_response_model/test_tutorial006_py310.py [new file with mode: 0644]
tests/test_tutorial/test_schema_extra_example/test_tutorial004_py310.py [new file with mode: 0644]
tests/test_tutorial/test_security/test_tutorial003_py310.py [new file with mode: 0644]
tests/test_tutorial/test_security/test_tutorial005_py310.py [new file with mode: 0644]
tests/test_tutorial/test_security/test_tutorial005_py39.py [new file with mode: 0644]
tests/test_tutorial/test_sql_databases/test_sql_databases.py
tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py310.py [new file with mode: 0644]
tests/test_tutorial/test_sql_databases/test_sql_databases_middleware_py39.py [new file with mode: 0644]
tests/test_tutorial/test_sql_databases/test_sql_databases_py310.py [new file with mode: 0644]
tests/test_tutorial/test_sql_databases/test_sql_databases_py39.py [new file with mode: 0644]
tests/test_tutorial/test_sql_databases/test_testing_databases.py
tests/test_tutorial/test_sql_databases/test_testing_databases_py310.py [new file with mode: 0644]
tests/test_tutorial/test_sql_databases/test_testing_databases_py39.py [new file with mode: 0644]
tests/test_tutorial/test_testing/test_main_b.py
tests/test_tutorial/test_testing/test_main_b_py310.py [new file with mode: 0644]
tests/utils.py