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.

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.

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
Some checks failed
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 Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: training/docker-build-exercise#39