Commit Graph

544 Commits

Author SHA1 Message Date
Petar Marić 817cc1d754
✏️ Fix typo in `fastapi/applications.py` (#11593) 2024-05-17 19:48:03 -05:00
Sebastián Ramírez 67da3bb52e 🔖 Release version 0.111.0 2024-05-02 15:50:18 -07:00
Sebastián Ramírez ea1f2190d3
🔧 Add configs and setup for `fastapi-slim` including optional extras `fastapi-slim[standard]`, and `fastapi` including by default the same `standard` extras (#11503) 2024-04-29 23:38:13 -07:00
Sebastián Ramírez 32be95dd86 🔖 Release version 0.110.3 2024-04-29 17:34:06 -07:00
Sebastián Ramírez 41fcbc7d00
🔧 Migrate from Hatch to PDM for the internal build (#11498) 2024-04-29 16:48:42 -07:00
ch33zer 550092a3bd
✏️ Fix typo in `fastapi/security/api_key.py` (#11481) 2024-04-23 17:29:18 -05:00
Omar Mokhtar ce1fb1a23b
✏️ Fix typo in `security/http.py` (#11455) 2024-04-19 10:29:38 -05:00
Sebastián Ramírez be1e3faa63 🔖 Release version 0.110.2 2024-04-18 19:31:47 -05:00
Paul 74cc33d16b
♻️ Simplify Pydantic configs in OpenAPI models in `fastapi/openapi/models.py` (#10886)
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 17:49:33 -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
Sebastián Ramírez 50a880b39f 🔖 Release version 0.110.1 2024-04-01 22:17:13 -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
Aleksei Kotenko 9c80842cea
♻️ Update mypy (#11049)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-04-01 21:48:51 -05:00
igeni ee6403212b
♻️ Simplify string format with f-strings in `fastapi/applications.py` (#11335) 2024-03-31 11:37:21 -05:00
Sun Bin 009b148463
✏️ Fix typo in `fastapi/security/oauth2.py` (#11368) 2024-03-29 18:06:20 -05:00
Charlie Marsh 5ccc869fee
⬆️ Upgrade configuration for Ruff v0.2.0 (#11075) 2024-03-26 11:56:53 -05:00
David Huser 3c70b55042
✏️ Fix typos in docstrings (#11295) 2024-03-14 17:38:24 +01:00
Sebastián Ramírez e40747f10a 🔖 Release version 0.110.0 2024-02-25 00:19:38 +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
Jacob Hayes 0880a5c6a0
✏️ Fix minor typo in `fastapi/applications.py` (#11099) 2024-02-06 12:21:29 -05:00
Sebastián Ramírez 57b0983948 🔖 Release FastAPI version 0.109.2 2024-02-04 22:21:53 +01:00
Sebastián Ramírez 7633d1571c 🔖 Release version 0.109.1 2024-02-03 13:42:30 +01:00
Rafal Skolasinski 8450dc204d
✏️ Fix typo in `fastapi/security/oauth2.py` (#10972) 2024-01-15 21:41:47 +01:00
Sebastián Ramírez dcc952d699
Include HTTP 205 in status codes with no body (#10969) 2024-01-15 11:32:16 +01:00
Evgenii de0126d145
♻️ Simplify string format with f-strings in `fastapi/utils.py` (#10576)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2024-01-13 15:31:38 +01:00
Sebastián Ramírez cb95d1cb89 🔖 Release version 0.109.0 2024-01-11 16:32:00 +01:00
Sepehr Shirkhanlu 60e1259ca4
✏️ Fix typo in `fastapi/routing.py` (#10520)
Fix: https://github.com/tiangolo/fastapi/discussions/10493
2024-01-09 17:10:37 +01:00
Sebastián Ramírez fe0249a23e 🔖 Release version 0.108.0 2023-12-26 21:17:18 +01:00
Sebastián Ramírez f933fd6ff8 🔖 Release version 0.107.0 2023-12-26 20:04:08 +01:00
Sebastián Ramírez 91510db620 🔖 Release version 0.106.0 2023-12-25 19:01:26 +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 d8185efb6e 🔖 Release version 0.105.0 2023-12-12 00:32:48 +00:00
Sebastián Ramírez b98c65cb36
🔥 Remove unused NoneType (#10774) 2023-12-12 00:29:03 +00: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
Sebastián Ramírez 7e5afe2cb9 🔖 Release version 0.104.1 2023-10-30 14:04:54 +04: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 c13aa9ed5f
🔥 Remove unnecessary duplicated docstrings (#10484) 2023-10-20 12:27:26 +04:00
Sebastián Ramírez 38f191dcd3 🔖 Release version 0.104.0 2023-10-18 16:51:07 +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 1bf5e7a10e 🔖 Release 0.103.2 2023-09-28 14:57:42 -05: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 bfde8f3ef2 🔖 Release version 0.103.1 2023-09-02 19:10:19 +02:00
Ahsan Sheraz 9fc33f8565
✏️ Fix typos in comment in `fastapi/applications.py` (#10045) 2023-09-02 17:37:40 +02:00
Sebastián Ramírez 415eb1405a 🔖 Release version 0.103.0 2023-08-26 20:10:27 +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 9cf9e1084d 🔖 Release version 0.102.0 2023-08-25 21:18:38 +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