Salim Aboubacar
2dc769b121
🐛 Fix `jsonable_encoder` alters `json_encoders` of Pydantic v1 objects ( #4972 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
2025-09-20 19:57:18 +02:00
sammasak
8ede27223e
✨ Allow array values for OpenAPI schema `type` field ( #13639 )
...
Co-authored-by: Lukas Rajala <lukas.rajala@klarna.com>
Co-authored-by: dlax <denis@laxalde.org>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 17:47:24 +00:00
rmawatson
9ac56c70f2
🐛 Reenable `allow_arbitrary_types` when only 1 argument is used on the API endpoint ( #13694 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-09-20 19:25:53 +02:00
Carlos Mario Toro
bc5013cd56
✨ Add OpenAPI `external_docs` parameter to `FastAPI` ( #13713 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-09-20 19:11:46 +02:00
Amogha Rao
5fef4d199b
✅ Enable test case for duplicated headers in `test_tutorial/test_header_params/test_tutorial003.py` ( #13864 )
...
Co-authored-by: amogha-rao <amogha.rao@cloudera.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-20 18:57:53 +02:00
山崎ヒカル
11d424c3dc
✅ Simplify tests for response_model ( #14062 )
2025-09-20 18:26:21 +02:00
Ben Beasley
7563579dc8
⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.49.0 ( #14077 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
2025-09-16 19:21:48 +02:00
Sebastián Ramírez
f5b77ff0fc
📝 Add documentation for Behind a Proxy - Proxy Forwarded Headers, using `--forwarded-allow-ips="*"` ( #14028 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-31 21:34:08 +02:00
z0z0r4
d4ddcc5878
📝 Update testing events documentation ( #13259 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-08-31 10:29:21 +00:00
Chih-Hsuan Yen
54c7c34b25
⬆ Update httpx requirement to >=0.23.0,<0.29.0 ( #13114 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-26 12:49:23 +02:00
Patrick Arminio
9d0d8828cc
🐛 Fix support for unions when using `Form` ( #13827 )
2025-06-26 17:22:53 +02:00
oogee
30b9dfb11c
🚸 Set format to password for fields `password` and `client_secret` in `OAuth2PasswordRequestForm`, make docs show password fields for passwords ( #11032 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-06-17 12:41:59 +02:00
Valentyn
85a2eed888
✅ Simplify tests for `settings` ( #13505 )
...
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
2025-06-17 12:25:20 +02:00
Valentyn
da4605b039
✅ Simplify tests for `validate_response_recursive` ( #13507 )
...
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
2025-06-17 12:24:10 +02:00
Motov Yurii
535d5b3f9f
🐛 Fix truncating the model's description with form feed (`\f`) character for Pydantic V2 ( #13698 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-06-17 09:46:27 +02:00
Joakim Nordling
8fa56b46a1
⬆️ Update ReDoc to version 2.x ( #9700 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-04-28 20:31:44 +02:00
Frank Hoffmann
ea42ebda80
✅ Use `inline-snapshot` to support different Pydantic versions in the test suite ( #12534 )
...
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-04-28 09:13:56 +02:00
Sebastián Ramírez
2537d9d1c2
🐛 Fix `convert_underscores=False` for header Pydantic models ( #13515 )
2025-03-23 21:48:54 +01:00
dependabot[bot]
8c94e97c89
⬆ Bump ruff to 0.9.4 ( #13299 )
...
* ⬆ Bump ruff from 0.6.4 to 0.9.4
Bumps [ruff](https://github.com/astral-sh/ruff ) from 0.6.4 to 0.9.4.
- [Release notes](https://github.com/astral-sh/ruff/releases )
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md )
- [Commits](https://github.com/astral-sh/ruff/compare/0.6.4...0.9.4 )
---
updated-dependencies:
- dependency-name: ruff
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* update pre-commit accordingly and make formatting changes
* 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-06 13:18:57 +01:00
Sebastián Ramírez
74fe89bf35
🐛 Add docs examples and tests (support) for `Annotated` custom validations, like `AfterValidator`, revert #13440 ( #13442 )
...
This reverts commit 15dd2b67d3 .
2025-03-01 22:02:35 +00:00
Victorien
15dd2b67d3
♻️ Update internal annotation usage for compatibilty with Pydantic 2.11 ( #13314 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
2025-02-28 16:15:02 +01:00
alv2017
7eabff43de
✅ Fix a minor bug in the test `tests/test_modules_same_name_body/test_main.py` ( #13411 )
2025-02-27 15:42:41 +01:00
Arthur Rio
ccc7c8fef9
🐛 Ensure that `HTTPDigest` only raises an exception when `auto_error is True` ( #2939 )
...
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com>
2025-02-27 13:29:20 +01:00
Hyogeun Oh (오효근)
e157cf4b96
🐛 Fix issue with Swagger theme change example in the official tutorial ( #13289 )
2025-02-18 17:52:15 +01:00
alv2017
5451d05bc8
✅ Simplify tests for `query_params_str_validations` ( #13218 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
2025-02-15 17:31:57 +01:00
alv2017
f6872dd298
✅ Simplify tests for `app_testing` ( #13220 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
2025-02-15 15:42:41 +01:00
alv2017
1e6d95ce6d
✅ Simplify tests for `dependency_testing` ( #13223 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
2025-02-15 14:37:48 +00:00
Rahul Pai
d5ecbaceae
🐛 Fix `OAuth2PasswordRequestForm` and `OAuth2PasswordRequestFormStrict` fixed `grant_type` "password" RegEx ( #9783 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alejandra <90076947+alejsdev@users.noreply.github.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-01-30 12:17:09 +00:00
Alejandra
c5b5af7c53
✅ Simplify tests for request_files ( #13182 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-30 12:04:34 +00:00
Alejandra
280fe73c03
✅ Simplify tests for websockets ( #13202 )
2025-01-19 22:40:39 +00:00
Alejandra
182c28e57a
✅ Simplify tests for request_form_models ( #13183 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-01-19 22:39:18 +00:00
Alejandra
39698df806
✅ Simplify tests for separate_openapi_schemas ( #13201 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 22:36:49 +00:00
Alejandra
2007993433
✅ Simplify tests for security ( #13200 )
2025-01-19 22:35:40 +00:00
Alejandra
3e12918325
✅ Simplify tests for schema_extra_example ( #13197 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 22:30:50 +00:00
Alejandra
081901cc99
✅ Simplify tests for request_model ( #13195 )
2025-01-19 06:57:50 +00:00
Alejandra
d309c9e140
✅ Simplify tests for request_forms_and_files ( #13185 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 06:43:21 +00:00
Alejandra
c7d888a15f
✅ Simplify tests for request_forms ( #13184 )
2025-01-19 06:42:25 +00:00
Alejandra
09ccfce228
✅ Simplify tests for path_query_params ( #13181 )
2025-01-19 06:34:48 +00:00
Alejandra
2e8db846b4
✅ Simplify tests for path_operation_configurations ( #13180 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-19 06:33:10 +00:00
Alejandra
aa60185781
✅ Simplify tests for header_params ( #13179 )
2025-01-19 06:32:11 +00:00
Alejandra
3d017824ba
✅ Simplify tests for extra_models ( #13178 )
2025-01-19 06:29:33 +00:00
Alejandra
8015f832d4
✅ Simplify tests for extra_data_types ( #13177 )
2025-01-19 06:28:09 +00:00
Alejandra
736712173a
✅ Simplify tests for cookie_params ( #13176 )
2025-01-19 06:26:50 +00:00
Alejandra
920df4d1ac
✅ Simplify tests for dependencies ( #13174 )
2025-01-19 06:25:51 +00:00
Alejandra
0a882e926e
✅ Simplify tests for body_updates ( #13172 )
2025-01-19 06:21:30 +00:00
Alejandra
55ef9270b8
✅ Simplify tests for body_nested_models ( #13171 )
2025-01-19 06:20:41 +00:00
Alejandra
1cedd8becf
✅ Simplify tests for body_multiple_params ( #13170 )
2025-01-19 06:19:58 +00:00
Alejandra
9b88c7c18a
✅ Simplify tests for body_fields ( #13169 )
2025-01-08 20:28:44 +01:00
Alejandra
0cc031f477
✅ Simplify tests for body ( #13168 )
2025-01-08 20:26:16 +01:00
Alejandra
5d3f45c2d4
✅ Simplify tests for bigger_applications ( #13167 )
2025-01-08 20:25:01 +01:00
Alejandra
44adb29ce1
✅ Simplify tests for background_tasks ( #13166 )
2025-01-08 20:23:42 +01:00
Sebastián Ramírez
994340f839
✅ Simplify tests for additional_status_codes ( #13149 )
2025-01-03 09:47:55 +00:00
Sebastián Ramírez
4881d1e225
📝 Update docs for `fastapi-cli` ( #13031 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-04 15:38:39 +01:00
Abdullah Hashim
4f8157588e
🐛 Preserve traceback when exception is raised in sync dependency with `yield` ( #5823 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2024-12-03 23:37:12 +01:00
Tamir Duberstein
bf4fad1fda
♻️ Update tests and internals for compatibility with Pydantic >=2.10 ( #12971 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-22 18:09:25 +01:00
Sebastián Ramírez
5c080d81ae
📝 Update includes for `docs/en/docs/tutorial/schema-extra-example.md` ( #12822 )
2024-11-09 16:00:17 +00:00
Sebastián Ramírez
b31cbbf5f5
♻️ Update logic to import and check `python-multipart` for compatibility with newer version ( #12627 )
2024-10-27 21:46:26 +00:00
Felix Fanghaenel
e049fc4ea1
🐛 Fix openapi generation with responses kwarg ( #10895 )
...
Co-authored-by: flxdot <felix.fanghaenel@nitrex.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Sławek Ehlert <slawomir.ehlert@gmail.com>
2024-10-12 11:44:57 +02:00
Sebastián Ramírez
7daaac2bc3
✨ Add new tutorial for SQL databases with SQLModel ( #12285 )
2024-10-09 21:44:42 +02:00
Sebastián Ramírez
55035f440b
✨ Add support for Pydantic models for parameters using `Query`, `Cookie`, `Header` ( #12199 )
2024-09-17 20:54:10 +02:00
Nico Tonnhofer
88d4f2cb18
🐛 Fix form field regression ( #12194 )
2024-09-13 11:51:00 +02:00
Sebastián Ramírez
b0eedbb580
⚡ ️ Improve performance in request body parsing with a cache for internal model fields ( #12184 )
2024-09-11 09:45:30 +02:00
Sebastián Ramírez
4633b1bca9
✨ Add support for forbidding extra form fields with Pydantic models ( #12134 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2024-09-06 19:31:18 +02:00
Sebastián Ramírez
c411b81c29
✅ Update internal tests for latest Pydantic, including CI tweaks to install the latest Pydantic ( #12147 )
2024-09-06 15:57:43 +00:00
Sebastián Ramírez
7bad7c0975
✨ Add support for Pydantic models in `Form` parameters ( #12129 )
...
Revert "⏪ ️ Temporarily revert "✨ Add support for Pydantic models in `Form` pa…"
This reverts commit 8e6cf9ee9c .
2024-09-05 17:16:50 +02:00
Sebastián Ramírez
8e6cf9ee9c
⏪ ️ Temporarily revert " ✨ Add support for Pydantic models in `Form` parameters" to make a checkpoint release ( #12128 )
...
Revert "✨ Add support for Pydantic models in `Form` parameters (#12127 )"
This reverts commit 0f3e65b007 .
2024-09-05 16:55:44 +02:00
Sebastián Ramírez
0f3e65b007
✨ Add support for Pydantic models in `Form` parameters ( #12127 )
2024-09-05 16:40:48 +02:00
Sebastián Ramírez
aa21814a89
♻️ Refactor deciding if `embed` body fields, do not overwrite fields, compute once per router, refactor internals in preparation for Pydantic models in `Form`, `Query` and others ( #12117 )
2024-09-05 13:24:36 +02:00
Giunio
51b625e127
🐛 Fix `allow_inf_nan` option for Param and Body classes ( #11867 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
2024-08-24 14:27:37 -05:00
Pastukhov Nikita
3a4ac24675
🐛 Ensure that `app.include_router` merges nested lifespans ( #9630 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-08-24 14:09:52 -05:00
Sebastián Ramírez
3a3ad5d66d
⬆️ Upgrade version of Ruff and reformat ( #12032 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-08-16 23:13:50 -05:00
Sebastián Ramírez
a25c92ceb9
♻️ Add support for `pip install "fastapi[standard]"` with standard dependencies and `python -m fastapi` ( #11935 )
...
* ♻️ Add support for `pip install "fastapi[standard]"` and make `fastapi` not include the optional standard dependencies
* 📝 Update docs to include new fastapi[standard]
* ✨ Add new stub fastapi command that tells people to install fastapi[standard]
* ✅ Add tests for new stub CLI
* 🔧 Add new command fastapi in main fastapi project, for when fastapi-cli is not installed
* ✏️ Fix types
* 📝 Add note about quotes when installing fastapi[standard]
* 📝 Update docs about standard extra dependencies
* ⬆️ Upgrade fastapi-cli
2024-08-02 01:03:05 -05:00
jianghuyiyuan
2e35b176cf
✏️ Fix typos in docs ( #11926 )
2024-07-31 09:09:15 -05:00
Nir Schulman
a69f38340f
📝 Restored Swagger-UI links to use the latest version possible. ( #11459 )
2024-05-23 17:59:02 -05:00
Nils Lindemann
6d523d62d0
📝 Fix types in examples under `docs_src/extra_data_types` ( #10535 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-18 19:11:40 -05:00
arjwilliams
09e4859cab
🐛 Fix support for query parameters with list types, handle JSON encoding Pydantic `UndefinedType` ( #9929 )
...
Co-authored-by: Andrew Williams <Andrew.Williams@contemi.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-18 16:56:59 -05:00
Sebastián Ramírez
27da0d02a7
✨ Add support for Pydantic's 2.7 new deprecated Field parameter, remove URL from validation errors response ( #11461 )
2024-04-18 14:40:57 -05:00
Nadav Zingerman
eec612ca8d
🐛 Fix parameterless `Depends()` with generics ( #9479 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-01 21:52:56 -05:00
Charlie Marsh
5ccc869fee
⬆️ Upgrade configuration for Ruff v0.2.0 ( #11075 )
2024-03-26 11:56:53 -05:00
Alejandra
93034fea48
📝 Update links to Pydantic docs to point to new website ( #11328 )
2024-03-21 20:42:11 -05:00
bebop
478288700a
📝 Update examples for tests to replace "inexistent" for "nonexistent" ( #11220 )
2024-03-13 20:07:10 +01:00
Sebastián Ramírez
bf771bd781
🐛 Fix unhandled growing memory for internal server errors, refactor dependencies with `yield` and `except` to require raising again as in regular Python ( #11191 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-02-25 00:06:37 +01:00
Emmett Butler
f18eadb7de
✅ Refactor tests for duplicate operation ID generation for compatibility with other tools running the FastAPI test suite ( #10876 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-01-13 16:10:26 +01:00
ooknimm
be0bd34446
✅ Re-enable test in `tests/test_tutorial/test_header_params/test_tutorial003.py` after fix in Starlette ( #10904 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-12 15:52:00 +01:00
Ezzeddin Abdullah
0c796747a3
📝 Update template docs with more info about `url_for` ( #5937 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-01-11 23:25:37 +01:00
Sebastián Ramírez
dd790c34ff
✏️ Fix typo in dependencies with yield source examples ( #10847 )
2023-12-26 21:37:34 +01:00
Sebastián Ramírez
a4aa79e0b4
✨ Add support for raising exceptions (including `HTTPException`) in dependencies with `yield` in the exit code, do not support them in background tasks ( #10831 )
...
* ♻️ Refactor dependency AsyncExitStack logic, exit dependencies after creating the response, before sending it
* ✅ Update tests for dependencies exit, check they are finished before the response is sent
* 🔥 Remove ExitAsyncStackMiddleware as it's no longer needed
* 📝 Update docs for dependencies with yield
* 📝 Update release notes
* 📝 Add source examples for new dependencies with yield raising
* ✅ Add tests for new dependencies raising after yield
* 📝 Update release notes
2023-12-25 18:57:35 +01:00
Sebastián Ramírez
6f5aa81c07
✨ Add support for multiple Annotated annotations, e.g. `Annotated[str, Field(), Query()]` ( #10773 )
2023-12-12 00:22:47 +00:00
Alejandra Klachquin
758a8f29e1
📌 Pin Swagger UI version to 5.9.0 temporarily to handle a bug crashing it in 5.9.1 ( #10529 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-30 13:58:58 +04:00
Sebastián Ramírez
2e14c69c31
👷 Adopt Ruff format ( #10517 )
...
* 🔧 Update pre-commit, use ruff format
* ⬆️ Upgrade dependencies, use Ruff for formatting
* 🔧 Update Ruff config
* 🔨 Update lint and format scripts, use Ruff
* 🎨 Format internals with Ruff
* 🎨 Format docs scripts
* 🎨 Format tests
* 🎨 Format extra commas in src for docs
* 📝 Update docs mentioning `@lru_cache()`, use `@lru_cache` instead to keep consistency with the format
* 🎨 Update src for docs, use plain `@lru_cache`
* 🎨 Update src for docs format and docs references
2023-10-25 00:26:06 +04:00
Heinz-Alexander Fuetterer
ae84ff6e44
✏️ Fix typos in emoji docs and in some source examples ( #10438 )
2023-10-20 13:00:44 +04:00
Sebastián Ramírez
05ca41cfd1
✨ Add reference (code API) docs with PEP 727, add subclass with custom docstrings for `BackgroundTasks`, refactor docs structure ( #10392 )
...
* ➕ Add mkdocstrings and griffe-typingdoc to dependencies
* 🔧 Add mkdocstrings configs to MkDocs
* 📝 Add first WIP reference page
* ⬆️ Upgrade typing-extensions to the minimum version including Doc()
* 📝 Add docs to FastAPI parameters
* 📝 Add docstrings for OpenAPI docs utils
* 📝 Add docstrings for security utils
* 📝 Add docstrings for UploadFile
* 📝 Update docstrings in FastAPI class
* 📝 Add docstrings for path operation methods
* 📝 Add docstring for jsonable_encoder
* 📝 Add docstrings for exceptions
* 📝 Add docstsrings for parameter functions
* 📝 Add docstrings for responses
* 📝 Add docstrings for APIRouter
* ♻️ Sub-class BackgroundTasks to document it with docstrings
* 📝 Update usage of background tasks in dependencies
* ✅ Update tests with new deprecation warnings
* 📝 Add new reference docs
* 🔧 Update MkDocs with new reference docs
* ✅ Update pytest fixture, deprecation is raised only once
* 🎨 Update format for types in exceptions.py
* ♻️ Update annotations in BackgroundTask, `Annotated` can't take ParamSpec's P.args or P.kwargs
* ✏️ Fix typos caught by @pawamoy
* 🔧 Update and fix MkDocstrings configs from @pawamoy tips
* 📝 Update reference docs
* ✏️ Fix typos found by @pawamoy
* ➕ Add HTTPX as a dependency for docs, for the TestClient
* 🔧 Update MkDocs config, rename websockets reference
* 🔇 Add type-ignores for Doc as the stubs haven't been released for mypy
* 🔥 Remove duplicated deprecated notice
* 🔇 Remove typing error for unreleased stub in openapi/docs.py
* ✅ Add tests for UploadFile for coverage
* ⬆️ Upgrade griffe-typingdoc==0.2.2
* 📝 Refactor docs structure
* 🔨 Update README generation with new index frontmatter and style
* 🔨 Update generation of languages, remove from top menu, keep in lang menu
* 📝 Add OpenAPI Pydantic models
* 🔨 Update docs script to not translate Reference and Release Notes
* 🔧 Add reference for OpenAPI models
* 🔧 Update MkDocs config for mkdocstrings insiders
* 👷 Install mkdocstring insiders in CI for docs
* 🐛 Fix MkDocstrings insiders install URL
* ➕ Move dependencies shared by docs and tests to its own requirements file
* 👷 Update cache keys for test and docs dependencies
* 📝 Remove no longer needed __init__ placeholder docstrings
* 📝 Move docstring for APIRouter to the class level (not __init__ level)
* 🔥 Remove no longer needed dummy placeholder __init__ docstring
2023-10-18 16:36:40 +04:00
Sebastián Ramírez
bc935e08b6
⬆️ Upgrade compatibility with Pydantic v2.4, new renamed functions and JSON Schema input/output models with default values ( #10344 )
...
* 🚚 Refactor deprecated import general_plain_validator_function to with_info_plain_validator_function
* 🚚 Rename deprecated FieldValidationInfo to ValidationInfo
* ✅ Update tests with new defaults for JSON Schema for default values
* ♻️ Add Pydantic v1 version of with_info_plain_validator_function
* 👷 Invalidate cache
* ✅ Fix tests for Pydantic v1
* ✅ Tweak tests coverage for older Pydantic v2 versions
2023-09-27 23:14:40 -05:00
Sebastián Ramírez
37d46e6b6c
✅ Add missing test for OpenAPI examples, it was missing in coverage ( #10188 )
...
✅ Add missing test for OpenAPI examples, it seems it was discovered in coverage by an upgrade in AnyIO
2023-09-01 23:36:08 +02:00
Sebastián Ramírez
1b714b3177
✨ Add support for `openapi_examples` in all FastAPI parameters ( #10152 )
...
* ♻️ Refactor model for OpenAPI Examples to use a reusable TypedDict
* ✨ Add support for openapi_examples in parameters
* 📝 Add new docs examples for new parameter openapi_examples
* 📝 Update docs for Schema Extra to include OpenAPI examples
* ✅ Add tests for new source examples, for openapi_examples
* ✅ Add tests for openapi_examples corner cases and all parameters
* 💡 Tweak and ignore type annotation checks for custom TypedDict
2023-08-26 20:03:13 +02:00
Sebastián Ramírez
ea43f227e5
✨ Add support for disabling the separation of input and output JSON Schemas in OpenAPI with Pydantic v2 ( #10145 )
...
* 📝 Add docs for Separate OpenAPI Schemas for Input and Output
* 🔧 Add new docs page to MkDocs config
* ✨ Add separate_input_output_schemas parameter to FastAPI class
* 📝 Add source examples for separating OpenAPI schemas
* ✅ Add tests for separated OpenAPI schemas
* 📝 Add source examples for Python 3.10, 3.9, and 3.7+
* 📝 Update docs for Separate OpenAPI Schemas with new multi-version examples
* ✅ Add and update tests for different Python versions
* ✅ Add tests for corner cases with separate_input_output_schemas
* 📝 Update tutorial to use Union instead of Optional
* 🐛 Fix type annotations
* 🐛 Fix correct import in test
* 💄 Add CSS to simulate browser windows for screenshots
* ➕ Add playwright as a dev dependency to automate generating screenshots
* 🔨 Add Playwright scripts to generate screenshots for new docs
* 📝 Update docs, tweak text to match screenshots
* 🍱 Add screenshots for new docs
2023-08-25 21:10:22 +02:00
Sebastián Ramírez
8cd7cfc2b6
📝 Add new docs section, How To - Recipes, move docs that don't have to be read by everyone to How To ( #10114 )
...
* 📝 Start How To docs section, move Peewee, remove Peewee from dependencies
* 🚚 Move em files to new locations
* 🚚 Move and re-structure advanced docs, move relevant to How To
* 🔧 Update MkDocs config, new files in How To
* 📝 Move docs for Conditional OpenAPI for Japanese to How To
* 📝 Move example source files for Extending OpenAPI into each of the new sections
* ✅ Update tests with new locations for source files
* 🔥 Remove init from Peewee examples
2023-08-19 21:54:04 +02:00
Sebastián Ramírez
7a06de2bb9
♻️ Refactor tests for new Pydantic 2.2.1 ( #10115 )
2023-08-19 20:47:59 +02:00
Sebastián Ramírez
5e8f7f13d7
✨ Add `ResponseValidationError` printable details, to show up in server error logs ( #10078 )
2023-08-14 11:49:57 +02:00
Sebastián Ramírez
19a2c3bb54
✨ Enable Pydantic's serialization mode for responses, add support for Pydantic's `computed_field`, better OpenAPI for response models, proper required attributes, better generated clients ( #10011 )
...
* ✨ Enable Pydantic's serialization mode for responses
* ✅ Update tests with new Pydantic v2 serialization mode
* ✅ Add a test for Pydantic v2's computed_field
2023-08-04 22:47:07 +02:00