essentiaMarco
53ebb9b46a
fix: resolve merge with master — lifespan app vs router
- Default lifespan: use app.router for _DefaultLifespan (router has
_startup/_shutdown; FastAPI app does not).
- Wrapper: when app is FastAPI, set fastapi_app from app and pass
app.router to _run_lifespan_dependencies so lifespan deps are collected.
- Test: use only Request.receive() (Starlette Request has no .send).
Made-with: Cursor
3 months ago
essentiaMarco
9fb0fc8120
refactor(lifespan): align with reviewer feedback, add coverage tests
- Fix _collect_lifespan_dependants: handle route-level flat.computed_scope
and iterate flat.dependencies (was incorrectly iterating flat)
- No pragmas on noop_receive/noop_send; covered by test that uses
Request.receive/send in a lifespan dependency
- Add test_collect_lifespan_dependants_route_level_scope for route-level
lifespan branch
- Add test_lifespan_dependency_synthetic_request_receive_send for
noop_receive/noop_send coverage
- Add test_lifespan_dependency_nested for dependency_cache hit (utils)
- Add test_lifespan_dependency_cannot_depend_on_request_scope and
test_lifespan_dependency_not_initialized_raises for edge cases
Made-with: Cursor
3 months ago
Sebastián Ramírez
2238155844
✨ Add support for Server Sent Events ( #15030 )
3 months ago
Sebastián Ramírez
1377052c6c
📝 Update docs for responses and new stream with `yield` ( #15023 )
3 months ago
Sebastián Ramírez
749cefdeb1
✨ Add support for streaming JSON Lines and binary data with `yield` ( #15022 )
3 months ago
Motov Yurii
0901b4092c
📝 Rename `docs_src/websockets` to `docs_src/websockets_` to avoid import errors ( #14979 )
3 months ago
Motov Yurii
5aacc7b6a0
🔨 Run tests with `pytest-xdist` and `pytest-cov` ( #14992 )
3 months ago
Sebastián Ramírez
2686c7fbbf
♻️ Refactor logic to handle OpenAPI and Swagger UI escaping data ( #14986 )
3 months ago
Sebastián Ramírez
22354a2530
🔒 ️ Add `strict_content_type` checking for JSON requests ( #14978 )
3 months ago
Sebastián Ramírez
48e9835732
🗑️ Deprecate `ORJSONResponse` and `UJSONResponse` ( #14964 )
3 months ago
Sebastián Ramírez
590a5e5355
✨ Serialize JSON response with Pydantic (in Rust), when there's a Pydantic return type or response model ( #14962 )
3 months ago
Sebastián Ramírez
e8b98d2187
🐛 Fix JSON Schema for files, use `contentMediaType` instead of `format: binary` ( #14953 )
4 months ago
Sebastián Ramírez
faee822574
🎨 Upgrade typing syntax for Python 3.10 ( #14932 )
Co-authored-by: Copilot <[email protected] >
Co-authored-by: tiangolo <[email protected] >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
4 months ago
Sebastián Ramírez
bbb96d4a0a
🔥 Remove Python 3.9 specific files, no longer needed after updating translations ( #14931 )
4 months ago
Sebastián Ramírez
c9e2277d8b
📝 Update source examples and docs from Python 3.9 to 3.10 ( #14900 )
4 months ago
Sebastián Ramírez
ad4e8e0060
➖ Drop support for Python 3.9 ( #14897 )
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
4 months ago
Sebastián Ramírez
6ce5e3e961
✅ Tweak comment in test to reference PR ( #14885 )
4 months ago
Valentyn
38f965985e
✅ Test order for the submitted byte Files ( #14828 )
Co-authored-by: Valentyn Druzhynin <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
4 months ago
Javier Sánchez Castro
df950111fe
✨ Show a clear error on attempt to include router into itself ( #14258 )
Co-authored-by: Javier Sánchez <[email protected] >
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <[email protected] >
4 months ago
Motov Yurii
ed2512a5ec
🐛 Fix `on_startup` and `on_shutdown` parameters of `APIRouter` ( #14873 )
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
4 months ago
Motov Yurii
227cb85a03
✅ Fix parameterized tests with snapshots ( #14875 )
4 months ago
Sebastián Ramírez
9f4ecf562c
✅ Add inline snapshot tests for OpenAPI before changes from Pydantic v2 ( #14864 )
4 months ago
Sebastián Ramírez
f9f7992604
♻️ Re-implement `on_event` in FastAPI for compatibility with the next Starlette, while keeping backwards compatibility ( #14851 )
4 months ago
Kanetsuna Masaya
c5fd75a321
🐛 Fix using `Json[list[str]]` type (issue #10997 ) ( #14616 )
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
4 months ago
Albin Skott
97145588f5
✨ Add support for PEP695 `TypeAliasType` ( #13920 )
Co-authored-by: lokidev <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
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] >
4 months ago
Jonathan Fulton
b49435becd
✨ Allow `Response` type hint as dependency annotation ( #14794 )
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <[email protected] >
Co-authored-by: Sebastián Ramírez <[email protected] >
4 months ago
Jonathan Fulton
75c47187f3
🐛 Update `ValidationError` schema to include `input` and `ctx` ( #14791 )
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
4 months ago
Mickaël Guérin
09f5941f0e
🐛 Fix TYPE_CHECKING annotations for Python 3.14 (PEP 649) ( #14789 )
4 months ago
Cecilia Madrid
1d96b3e3f1
🐛 Strip whitespaces from `Authorization` header credentials ( #14786 )
4 months ago
johnson-earls
3ee652dd0c
📝 Fix example of license identifier in documentation ( #14492 )
Co-authored-by: svlandeg <[email protected] >
4 months ago
Anton
41352de24c
🚸 Improve error message for invalid query parameter type annotations ( #14479 )
Co-authored-by: Anton.D <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
4 months ago
DJ Melisso
08dad5c69f
🐛 Fix OpenAPI duplication of `anyOf` refs for app-level responses with specified `content` and `model` as `Union` ( #14463 )
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Motov Yurii <[email protected] >
4 months ago
Sebastián Ramírez
1b42639296
🔥 Remove test variants for Pydantic v1 in test_request_params ( #14612 )
5 months ago
Sebastián Ramírez
44c849c4fc
🔥 Remove Pydantic v1 specific test variants ( #14611 )
5 months ago
Sebastián Ramírez
e300630551
➖ Drop support for `pydantic.v1` ( #14609 )
5 months ago
Sebastián Ramírez
34e884156f
✅ Run performance tests only on Pydantic v2 ( #14608 )
5 months ago
Sebastián Ramírez
535b5daa31
🔊 Add a custom `FastAPIDeprecationWarning` ( #14605 )
5 months ago
Motov Yurii
3063ada72f
✅ Add missing tests for code examples ( #14569 )
Co-authored-by: Sebastián Ramírez <[email protected] >
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nils-Hero Lindemann <[email protected] >
5 months ago
Sebastián Ramírez
6e42bcd8ce
🔊 Add deprecation warnings when using `pydantic.v1` ( #14583 )
6 months ago
Sebastián Ramírez
e2cd8a4201
➖ Drop support for Pydantic v1, keeping short temporary support for Pydantic v2's `pydantic.v1` ( #14575 )
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Sebastián Ramírez
caee1d3123
👷 Add performance tests with CodSpeed ( #14558 )
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
6 months ago
Sebastián Ramírez
1c4fc96c91
♻️ Upgrade internal syntax to Python 3.9+ 🎉 ( #14564 )
6 months ago
Sebastián Ramírez
ed97d9dc0c
⚰️ Remove Python 3.8 from CI and remove Python 3.8 examples from source docs ( #14559 )
Co-authored-by: Yurii Motov <[email protected] >
Co-authored-by: Motov Yurii <[email protected] >
6 months ago
Motov Yurii
d86c47477e
🐛 Fix parameter aliases ( #14371 )
Co-authored-by: Sebastián Ramírez <[email protected] >
6 months ago
Sebastián Ramírez
c0556ac3a5
🐛 Fix support for tagged union with discriminator inside of `Annotated` with `Body()` ( #14512 )
6 months ago
Motov Yurii
6c54bcefd3
✅ Add set of tests for request parameters and alias ( #14358 )
Co-authored-by: Sebastián Ramírez <[email protected] >
6 months ago
Sebastián Ramírez
cd9d093f60
📝 Update docs about re-raising validation errors, do not include string as is to not leak information ( #14487 )
6 months ago
Sebastián Ramírez
7ba042e069
🐛 Fix support for `if TYPE_CHECKING`, non-evaluated stringified annotations ( #14485 )
6 months ago
Sebastián Ramírez
42b250d14d
🐛 Fix handling arbitrary types when using `arbitrary_types_allowed=True` ( #14482 )
6 months ago
Motov Yurii
9475024640
📝 Add variants for code examples in "Advanced User Guide" ( #14413 )
6 months ago