pre-commit-ci-lite[bot]
95d5b080a2
🎨 Auto format
2025-12-03 19:19:46 +00:00
g7azazlo
5246f7c3ad
Add new database-related endpoints and enhance schema validation in tests
...
- Introduced two new endpoints: "/db/direct_return" and "/db/dict_construction" to simulate database interactions.
- Added a FakeDB class to mock database behavior for testing purposes.
- Enhanced test cases to validate the OpenAPI schema for the new endpoints, ensuring correct response structure and types.
2025-12-03 22:15:49 +03:00
g7azazlo
40af1b90c3
Enhance response model inference and improve error handling
...
- Updated the response model inference logic in "APIRoute" to check for "None" before validating against "BaseModel".
- Refined the "infer_response_model_from_ast" function to handle nested function definitions and invalid dictionary keys, ensuring robust schema generation.
- Added new test cases for edge scenarios to validate the inference behavior.
2025-12-03 22:06:15 +03:00
g7azazlo
72b210209b
Implement response model inference from endpoint function source code
...
- Added "infer_response_model_from_ast" function to analyze endpoint functions and infer Pydantic models from returned dictionary literals or variable assignments.
- Updated "APIRoute" to utilize the new inference method when the specified response model is not a subclass of "BaseModel"
2025-12-03 21:44:57 +03:00
Lie Ryan
9824486616
✨ Allow using dependables with `functools.partial()` ( #9753 )
...
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: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 20:58:30 +00:00
[object Object]
1c1e584abd
✨ Add support for wrapped functions (e.g. `@functools.wraps()`) used with forward references ( #5077 )
...
Co-authored-by: Yurii Karabas <1998uriyyo@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 18:23:14 +01:00
Victorien
80d69ae0bb
🐛 Fix optional sequence handling with new union syntax from Python 3.10 ( #14430 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 16:59:38 +00:00
Matthew Martin
73c411e1b9
✨ Handle wrapped dependencies ( #9555 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 14:34:19 +01:00
Vincent Grafé
f95a174288
🐛 Fix OpenAPI schema support for computed fields when using `separate_input_output_schemas=False` ( #13207 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: svlandeg <sofie.vanlandeghem@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 09:22:08 +00:00
Motov Yurii
015b4fae9c
🐛 Fix Query\Header\Cookie parameter model alias ( #14360 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 07:24:09 +00:00
Motov Yurii
0f613d9051
🐛 Fix optional sequence handling in `serialize sequence value` with Pydantic V2 ( #14297 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 08:10:27 +01:00
Motov Yurii
de5bec637c
🐛 Fix parsing extra non-body parameter list ( #14356 )
...
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>
2025-12-02 05:57:19 +01:00
Motov Yurii
6cf40df24d
🐛 Fix parsing extra `Form` parameter list ( #14303 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 05:49:32 +01:00
ad hoc
d68c066246
🐛 Fix support for form values with empty strings interpreted as missing (`None` if that's the default), for compatibility with HTML forms ( #13537 )
...
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: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 05:39:55 +01:00
Sofie Van Landeghem
8f99a2b734
🐛 Avoid accessing non-existing "$ref" key for Pydantic v2 compat remapping ( #14361 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-12-02 05:04:13 +01:00
Hemanth U
bf322d0e94
🐛 Fix Windows UnicodeEncodeError in CLI test ( #14295 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-12-02 04:02:38 +00:00
Kent Huang
20f40b29c0
🐛 Fix `TypeError` when encoding a decimal with a `NaN` or `Infinity` value ( #12935 )
...
Signed-off-by: Kent Huang <kent@infuseai.io>
2025-12-02 04:31:59 +01:00
Sebastián Ramírez
7fbd30460f
🐛 Cache dependencies that don't use scopes and don't have sub-dependencies with scopes ( #14419 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-30 15:45:49 +01:00
Kristján Valur Jónsson
378ad688b7
🐛 Fix hierarchical security scope propagation ( #5624 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
2025-11-30 12:57:01 +01:00
Motov Yurii
51ad909ffe
🐛 Use `401` status code in security classes when credentials are missing ( #13786 )
...
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>
2025-11-24 20:03:06 +01:00
Sebastián Ramírez
85701631a0
♻️ Make the result of `Depends()` and `Security()` hashable, as a workaround for other tools interacting with these internal parts ( #14372 )
2025-11-19 17:50:18 +01:00
Edge-Seven
df83eb7278
📝 Fix typos in code comments ( #14364 )
...
Fix typos in some files
Co-authored-by: khanhkhanhlele <namkhanh20xx@gmail.com>
2025-11-18 09:30:20 +01:00
Sebastián Ramírez
5d40dfbc9b
🐛 Fix handling of JSON Schema attributes named "$ref" ( #14349 )
2025-11-13 14:59:07 +01:00
luzzodev
282f372eda
🐛 Fix `Depends(func, scope='function')` for top level (parameterless) dependencies ( #14301 )
2025-11-08 22:43:30 +01:00
Sebastián Ramírez
ac438b9934
✨ Add support for dependencies with scopes, support `scope="request"` for dependencies with `yield` that exit before the response is sent ( #14262 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-03 11:12:49 +01:00
Motov Yurii
496de1816a
🐛 Fix security schemes in OpenAPI when added at the top level app ( #14266 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-10-31 19:34:30 +01:00
Sebastián Ramírez
dcfb8b9dda
♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself ( #14256 )
2025-10-30 20:35:04 +01:00
Sebastián Ramírez
c144f9fbd3
♻️ Refactor internals of dependencies, simplify using dataclasses ( #14254 )
2025-10-30 05:51:50 +01:00
Sebastián Ramírez
6a657f360d
🐛 Fix separation of schemas with nested models introduced in 0.119.0 ( #14246 )
2025-10-29 14:09:30 +01:00
Sofie Van Landeghem
d8c691f7f0
🐛 Fix internal Pydantic v1 compatibility (warnings) for Python 3.14 and Pydantic 2.12.1 ( #14186 )
...
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>
2025-10-20 13:26:49 +02:00
Sebastián Ramírez
d34918abf0
✨ Add support for `from pydantic.v1 import BaseModel`, mixed Pydantic v1 and v2 models in the same app ( #14168 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-11 18:45:54 +02:00
Sofie Van Landeghem
3611c3fc5b
⬆️ Add support for Python 3.14 ( #14165 )
2025-10-10 11:44:39 +02:00
François Voron
185cecd891
🐛 Fix tagged discriminated union not recognized as body field ( #12942 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Patrick Arminio <patrick.arminio@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-10-08 14:48:30 +00:00
Colin Watson
c970d8a735
👽 ️ Ensure compatibility with Pydantic 2.12.0 ( #14036 )
...
Co-authored-by: Sofie Van Landeghem <svlandeg@users.noreply.github.com>
Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
Co-authored-by: svlandeg <svlandeg@github.com>
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
Co-authored-by: Patrick Arminio <patrick.arminio@gmail.com>
2025-10-08 10:57:37 +02:00
Sebastián Ramírez
e329d78f86
🐛 Fix support for `StreamingResponse`s with dependencies with `yield` or `UploadFile`s, close after the response is done ( #14099 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-29 05:29:38 +02:00
Thomas LÉVEIL
44fc67632b
🐛 Fix validation error when `File` is declared after `Form` parameter ( #11194 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 21:55:59 +02:00
vvanglro
f1e6f978ce
⚡ ️ Fix `default_factory` for response model field with Pydantic V1 ( #9704 )
...
Co-authored-by: Motov Yurii <109919500+YuriiMotov@users.noreply.github.com>
2025-09-20 20:51:40 +02:00
Robert Hofer
b51ec36f2e
✨ Allow `None` as return type for bodiless responses ( #9425 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 18:44:43 +00:00
Max McLennan
86e515784d
🐛 Fix inconsistent processing of model docstring formfeed char with Pydantic V1 ( #6039 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2025-09-20 20:10:37 +02:00
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