pre-commit-ci-lite[bot]
feffe5b824
🎨 Auto format
8 months ago
g7azazlo
e03e232c39
Enhance response model inference and add edge case tests
- Updated the `infer_response_model_from_ast` function to use `textwrap.dedent` for cleaner source code handling.
- Added multiple test cases in `tests/test_ast_inference.py` to cover various edge cases for response model inference, including functions with different return types and argument annotations.
- Improved type inference for functions returning lists and nested dictionaries, ensuring better schema generation.
8 months ago
pre-commit-ci-lite[bot]
95d5b080a2
🎨 Auto format
8 months ago
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.
8 months ago
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.
8 months ago
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"
8 months ago
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 <[email protected] >
Co-authored-by: Yurii Motov <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
[object Object]
1c1e584abd
✨ Add support for wrapped functions (e.g. `@functools.wraps()`) used with forward references ( #5077 )
Co-authored-by: Yurii Karabas <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
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 <[email protected] >
8 months ago
Matthew Martin
73c411e1b9
✨ Handle wrapped dependencies ( #9555 )
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Yurii Motov <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
Vincent Grafé
f95a174288
🐛 Fix OpenAPI schema support for computed fields when using `separate_input_output_schemas=False` ( #13207 )
Co-authored-by: Sofie Van Landeghem <[email protected] >
Co-authored-by: svlandeg <[email protected] >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: svlandeg <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
Motov Yurii
015b4fae9c
🐛 Fix Query\Header\Cookie parameter model alias ( #14360 )
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
Motov Yurii
0f613d9051
🐛 Fix optional sequence handling in `serialize sequence value` with Pydantic V2 ( #14297 )
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
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 <[email protected] >
8 months ago
Motov Yurii
6cf40df24d
🐛 Fix parsing extra `Form` parameter list ( #14303 )
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
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 <[email protected] >
Co-authored-by: Yurii Motov <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
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>
8 months ago
Hemanth U
bf322d0e94
🐛 Fix Windows UnicodeEncodeError in CLI test ( #14295 )
Co-authored-by: Sofie Van Landeghem <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
8 months ago
Kent Huang
20f40b29c0
🐛 Fix `TypeError` when encoding a decimal with a `NaN` or `Infinity` value ( #12935 )
Signed-off-by: Kent Huang <[email protected] >
8 months ago
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>
8 months ago
Kristján Valur Jónsson
378ad688b7
🐛 Fix hierarchical security scope propagation ( #5624 )
Co-authored-by: Sebastián Ramírez <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: svlandeg <[email protected] >
Co-authored-by: Sofie Van Landeghem <[email protected] >
8 months ago
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 <[email protected] >
8 months ago
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 )
8 months ago
Edge-Seven
df83eb7278
📝 Fix typos in code comments ( #14364 )
Fix typos in some files
Co-authored-by: khanhkhanhlele <[email protected] >
8 months ago
Sebastián Ramírez
5d40dfbc9b
🐛 Fix handling of JSON Schema attributes named "$ref" ( #14349 )
8 months ago
luzzodev
282f372eda
🐛 Fix `Depends(func, scope='function')` for top level (parameterless) dependencies ( #14301 )
8 months ago
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>
9 months ago
Motov Yurii
496de1816a
🐛 Fix security schemes in OpenAPI when added at the top level app ( #14266 )
Co-authored-by: Sebastián Ramírez <[email protected] >
9 months ago
Sebastián Ramírez
dcfb8b9dda
♻️ Reduce internal cyclic recursion in dependencies, from 2 functions calling each other to 1 calling itself ( #14256 )
9 months ago
Sebastián Ramírez
c144f9fbd3
♻️ Refactor internals of dependencies, simplify using dataclasses ( #14254 )
9 months ago
Sebastián Ramírez
6a657f360d
🐛 Fix separation of schemas with nested models introduced in 0.119.0 ( #14246 )
9 months ago
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 <[email protected] >
9 months ago
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>
9 months ago
Sofie Van Landeghem
3611c3fc5b
⬆️ Add support for Python 3.14 ( #14165 )
9 months ago
François Voron
185cecd891
🐛 Fix tagged discriminated union not recognized as body field ( #12942 )
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Patrick Arminio <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
9 months ago
Colin Watson
c970d8a735
👽 ️ Ensure compatibility with Pydantic 2.12.0 ( #14036 )
Co-authored-by: Sofie Van Landeghem <[email protected] >
Co-authored-by: Victorien <[email protected] >
Co-authored-by: svlandeg <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Patrick Arminio <[email protected] >
9 months ago
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>
10 months ago
Thomas LÉVEIL
44fc67632b
🐛 Fix validation error when `File` is declared after `Form` parameter ( #11194 )
Co-authored-by: Sebastián Ramírez <[email protected] >
10 months ago
vvanglro
f1e6f978ce
⚡ ️ Fix `default_factory` for response model field with Pydantic V1 ( #9704 )
Co-authored-by: Motov Yurii <[email protected] >
10 months ago
Robert Hofer
b51ec36f2e
✨ Allow `None` as return type for bodiless responses ( #9425 )
Co-authored-by: Sebastián Ramírez <[email protected] >
10 months ago
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 <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
10 months ago
Salim Aboubacar
2dc769b121
🐛 Fix `jsonable_encoder` alters `json_encoders` of Pydantic v1 objects ( #4972 )
Co-authored-by: Sebastián Ramírez <[email protected] >
Co-authored-by: Yurii Motov <[email protected] >
10 months ago
sammasak
8ede27223e
✨ Allow array values for OpenAPI schema `type` field ( #13639 )
Co-authored-by: Lukas Rajala <[email protected] >
Co-authored-by: dlax <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
10 months ago
rmawatson
9ac56c70f2
🐛 Reenable `allow_arbitrary_types` when only 1 argument is used on the API endpoint ( #13694 )
Co-authored-by: Sofie Van Landeghem <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
10 months ago
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 <[email protected] >
10 months ago
Amogha Rao
5fef4d199b
✅ Enable test case for duplicated headers in `test_tutorial/test_header_params/test_tutorial003.py` ( #13864 )
Co-authored-by: amogha-rao <[email protected] >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
10 months ago
山崎ヒカル
11d424c3dc
✅ Simplify tests for response_model ( #14062 )
10 months ago
Ben Beasley
7563579dc8
⬆️ Upgrade Starlette supported version range to >=0.40.0,<0.49.0 ( #14077 )
Co-authored-by: svlandeg <[email protected] >
10 months ago
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>
11 months ago
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 <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
11 months ago