Update dependency fastapi to v0.115.0 #39

Merged
renovate merged 1 commits from renovate/fastapi-0.x into main 2024-09-29 02:27:02 +00:00
Member

This PR contains the following updates:

Package Update Change
fastapi (changelog) minor ==0.114.0 -> ==0.115.0

Release Notes

fastapi/fastapi (fastapi)

v0.115.0

Compare Source

Highlights

Now you can declare Query, Header, and Cookie parameters with Pydantic models. 🎉

Query Parameter Models

Use Pydantic models for Query parameters:

from typing import Annotated, Literal

from fastapi import FastAPI, Query
from pydantic import BaseModel, Field

app = FastAPI()

class FilterParams(BaseModel):
    limit: int = Field(100, gt=0, le=100)
    offset: int = Field(0, ge=0)
    order_by: Literal["created_at", "updated_at"] = "created_at"
    tags: list[str] = []

@​app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
    return filter_query

Read the new docs: Query Parameter Models.

Header Parameter Models

Use Pydantic models for Header parameters:

from typing import Annotated

from fastapi import FastAPI, Header
from pydantic import BaseModel

app = FastAPI()

class CommonHeaders(BaseModel):
    host: str
    save_data: bool
    if_modified_since: str | None = None
    traceparent: str | None = None
    x_tag: list[str] = []

@​app.get("/items/")
async def read_items(headers: Annotated[CommonHeaders, Header()]):
    return headers

Read the new docs: Header Parameter Models.

Cookie Parameter Models

Use Pydantic models for Cookie parameters:

from typing import Annotated

from fastapi import Cookie, FastAPI
from pydantic import BaseModel

app = FastAPI()

class Cookies(BaseModel):
    session_id: str
    fatebook_tracker: str | None = None
    googall_tracker: str | None = None

@​app.get("/items/")
async def read_items(cookies: Annotated[Cookies, Cookie()]):
    return cookies

Read the new docs: Cookie Parameter Models.

Forbid Extra Query (Cookie, Header) Parameters

Use Pydantic models to restrict extra values for Query parameters (also applies to Header and Cookie parameters).

To achieve it, use Pydantic's model_config = {"extra": "forbid"}:

from typing import Annotated, Literal

from fastapi import FastAPI, Query
from pydantic import BaseModel, Field

app = FastAPI()

class FilterParams(BaseModel):
    model_config = {"extra": "forbid"}

    limit: int = Field(100, gt=0, le=100)
    offset: int = Field(0, ge=0)
    order_by: Literal["created_at", "updated_at"] = "created_at"
    tags: list[str] = []

@​app.get("/items/")
async def read_items(filter_query: Annotated[FilterParams, Query()]):
    return filter_query

This applies to Query, Header, and Cookie parameters, read the new docs:

Features
  • Add support for Pydantic models for parameters using Query, Cookie, Header. PR #​12199 by @​tiangolo.
Translations
  • 🌐 Add Portuguese translation for docs/pt/docs/advanced/security/http-basic-auth.md. PR #​12195 by @​ceb10n.
Internal

v0.114.2

Compare Source

Fixes
Translations
Internal

v0.114.1

Compare Source

Refactors
  • ️ Improve performance in request body parsing with a cache for internal model fields. PR #​12184 by @​tiangolo.
Docs
  • 📝 Remove duplicate line in docs for docs/en/docs/environment-variables.md. PR #​12169 by @​prometek.
Translations
Internal

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [fastapi](https://github.com/fastapi/fastapi) ([changelog](https://fastapi.tiangolo.com/release-notes/)) | minor | `==0.114.0` -> `==0.115.0` | --- ### Release Notes <details> <summary>fastapi/fastapi (fastapi)</summary> ### [`v0.115.0`](https://github.com/fastapi/fastapi/releases/tag/0.115.0) [Compare Source](https://github.com/fastapi/fastapi/compare/0.114.2...0.115.0) ##### Highlights Now you can declare `Query`, `Header`, and `Cookie` parameters with Pydantic models. 🎉 ##### `Query` Parameter Models Use Pydantic models for `Query` parameters: ```python from typing import Annotated, Literal from fastapi import FastAPI, Query from pydantic import BaseModel, Field app = FastAPI() class FilterParams(BaseModel): limit: int = Field(100, gt=0, le=100) offset: int = Field(0, ge=0) order_by: Literal["created_at", "updated_at"] = "created_at" tags: list[str] = [] @&#8203;app.get("/items/") async def read_items(filter_query: Annotated[FilterParams, Query()]): return filter_query ``` Read the new docs: [Query Parameter Models](https://fastapi.tiangolo.com/tutorial/query-param-models/). ##### `Header` Parameter Models Use Pydantic models for `Header` parameters: ```python from typing import Annotated from fastapi import FastAPI, Header from pydantic import BaseModel app = FastAPI() class CommonHeaders(BaseModel): host: str save_data: bool if_modified_since: str | None = None traceparent: str | None = None x_tag: list[str] = [] @&#8203;app.get("/items/") async def read_items(headers: Annotated[CommonHeaders, Header()]): return headers ``` Read the new docs: [Header Parameter Models](https://fastapi.tiangolo.com/tutorial/header-param-models/). ##### `Cookie` Parameter Models Use Pydantic models for `Cookie` parameters: ```python from typing import Annotated from fastapi import Cookie, FastAPI from pydantic import BaseModel app = FastAPI() class Cookies(BaseModel): session_id: str fatebook_tracker: str | None = None googall_tracker: str | None = None @&#8203;app.get("/items/") async def read_items(cookies: Annotated[Cookies, Cookie()]): return cookies ``` Read the new docs: [Cookie Parameter Models](https://fastapi.tiangolo.com/tutorial/cookie-param-models/). ##### Forbid Extra Query (Cookie, Header) Parameters Use Pydantic models to restrict extra values for `Query` parameters (also applies to `Header` and `Cookie` parameters). To achieve it, use Pydantic's `model_config = {"extra": "forbid"}`: ```python from typing import Annotated, Literal from fastapi import FastAPI, Query from pydantic import BaseModel, Field app = FastAPI() class FilterParams(BaseModel): model_config = {"extra": "forbid"} limit: int = Field(100, gt=0, le=100) offset: int = Field(0, ge=0) order_by: Literal["created_at", "updated_at"] = "created_at" tags: list[str] = [] @&#8203;app.get("/items/") async def read_items(filter_query: Annotated[FilterParams, Query()]): return filter_query ``` This applies to `Query`, `Header`, and `Cookie` parameters, read the new docs: - [Forbid Extra Query Parameters](https://fastapi.tiangolo.com/tutorial/query-param-models/#forbid-extra-query-parameters) - [Forbid Extra Headers](https://fastapi.tiangolo.com/tutorial/header-param-models/#forbid-extra-headers) - [Forbid Extra Cookies](https://fastapi.tiangolo.com/tutorial/cookie-param-models/#forbid-extra-cookies) ##### Features - ✨ Add support for Pydantic models for parameters using `Query`, `Cookie`, `Header`. PR [#&#8203;12199](https://github.com/fastapi/fastapi/pull/12199) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/advanced/security/http-basic-auth.md`. PR [#&#8203;12195](https://github.com/fastapi/fastapi/pull/12195) by [@&#8203;ceb10n](https://github.com/ceb10n). ##### Internal - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12204](https://github.com/fastapi/fastapi/pull/12204) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). ### [`v0.114.2`](https://github.com/fastapi/fastapi/releases/tag/0.114.2) [Compare Source](https://github.com/fastapi/fastapi/compare/0.114.1...0.114.2) ##### Fixes - 🐛 Fix form field regression with `alias`. PR [#&#8203;12194](https://github.com/fastapi/fastapi/pull/12194) by [@&#8203;Wurstnase](https://github.com/Wurstnase). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/request-form-models.md`. PR [#&#8203;12175](https://github.com/fastapi/fastapi/pull/12175) by [@&#8203;ceb10n](https://github.com/ceb10n). - 🌐 Add Chinese translation for `docs/zh/docs/project-generation.md`. PR [#&#8203;12170](https://github.com/fastapi/fastapi/pull/12170) by [@&#8203;waketzheng](https://github.com/waketzheng). - 🌐 Add Dutch translation for `docs/nl/docs/python-types.md`. PR [#&#8203;12158](https://github.com/fastapi/fastapi/pull/12158) by [@&#8203;maxscheijen](https://github.com/maxscheijen). ##### Internal - 💡 Add comments with instructions for Playwright screenshot scripts. PR [#&#8203;12193](https://github.com/fastapi/fastapi/pull/12193) by [@&#8203;tiangolo](https://github.com/tiangolo). - ➕ Add inline-snapshot for tests. PR [#&#8203;12189](https://github.com/fastapi/fastapi/pull/12189) by [@&#8203;tiangolo](https://github.com/tiangolo). ### [`v0.114.1`](https://github.com/fastapi/fastapi/releases/tag/0.114.1) [Compare Source](https://github.com/fastapi/fastapi/compare/0.114.0...0.114.1) ##### Refactors - ⚡️ Improve performance in request body parsing with a cache for internal model fields. PR [#&#8203;12184](https://github.com/fastapi/fastapi/pull/12184) by [@&#8203;tiangolo](https://github.com/tiangolo). ##### Docs - 📝 Remove duplicate line in docs for `docs/en/docs/environment-variables.md`. PR [#&#8203;12169](https://github.com/fastapi/fastapi/pull/12169) by [@&#8203;prometek](https://github.com/prometek). ##### Translations - 🌐 Add Portuguese translation for `docs/pt/docs/virtual-environments.md`. PR [#&#8203;12163](https://github.com/fastapi/fastapi/pull/12163) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/environment-variables.md`. PR [#&#8203;12162](https://github.com/fastapi/fastapi/pull/12162) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/testing.md`. PR [#&#8203;12164](https://github.com/fastapi/fastapi/pull/12164) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Portuguese translation for `docs/pt/docs/tutorial/debugging.md`. PR [#&#8203;12165](https://github.com/fastapi/fastapi/pull/12165) by [@&#8203;marcelomarkus](https://github.com/marcelomarkus). - 🌐 Add Korean translation for `docs/ko/docs/project-generation.md`. PR [#&#8203;12157](https://github.com/fastapi/fastapi/pull/12157) by [@&#8203;BORA040126](https://github.com/BORA040126). ##### Internal - ⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1. PR [#&#8203;12173](https://github.com/fastapi/fastapi/pull/12173) by [@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot). - ⬆ \[pre-commit.ci] pre-commit autoupdate. PR [#&#8203;12176](https://github.com/fastapi/fastapi/pull/12176) by [@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci). - 👷 Update `issue-manager.yml`. PR [#&#8203;12159](https://github.com/fastapi/fastapi/pull/12159) by [@&#8203;tiangolo](https://github.com/tiangolo). - ✏️ Fix typo in `fastapi/params.py`. PR [#&#8203;12143](https://github.com/fastapi/fastapi/pull/12143) by [@&#8203;surreal30](https://github.com/surreal30). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovate added 1 commit 2024-09-29 02:27:00 +00:00
Update dependency fastapi to v0.115.0
build / image-build (push) Failing after 8m38s
renovate / renovate (push) Has been cancelled
394be8afd5
renovate scheduled this pull request to auto merge when all checks succeed 2024-09-29 02:27:01 +00:00
renovate merged commit 394be8afd5 into main 2024-09-29 02:27:02 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: training/docker-build-exercise#39