Skip to content

Commit 2b0c234

Browse files
Zaczeroclaude
andauthored
Fix FastAPI 0.119.0+ compatibility by updating imports (#860)
Change request_response import from starlette.routing to fastapi.routing in both routes.py and openapi.py to use FastAPI's enhanced version with AsyncExitStack support for dependencies with yield. Remove upper version constraint on FastAPI (<0.118.0) to allow users to upgrade to FastAPI 0.119.0 and later versions. In FastAPI 0.119.0, request_response is no longer a re-export from Starlette but a custom implementation with additional functionality for proper dependency lifecycle management. Fixes #856 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]>
1 parent 9fcd92e commit 2b0c234

File tree

5 files changed

+7
-5
lines changed

5 files changed

+7
-5
lines changed

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Fixed
66

77
- fixed typing of base_model and mixins parameters ([#852](https://github.com/stac-utils/stac-fastapi/pull/852))
8+
- fixed FastAPI 0.119.0+ compatibility by updating `request_response` import from starlette to fastapi and removing upper version constraint ([#856](https://github.com/stac-utils/stac-fastapi/issues/856))
89

910
### Changed
1011

stac_fastapi/api/stac_fastapi/api/openapi.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
"""openapi."""
22

33
from fastapi import FastAPI
4+
from fastapi.routing import request_response
45
from starlette.requests import Request
56
from starlette.responses import Response
6-
from starlette.routing import Route, request_response
7+
from starlette.routing import Route
78

89

910
def update_openapi(app: FastAPI) -> FastAPI:

stac_fastapi/api/stac_fastapi/api/routes.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
from fastapi import Depends, FastAPI, params
99
from fastapi.datastructures import DefaultPlaceholder
1010
from fastapi.dependencies.utils import get_dependant, get_parameterless_sub_dependant
11-
from fastapi.routing import APIRoute
11+
from fastapi.routing import APIRoute, request_response
1212
from pydantic import BaseModel
1313
from starlette.concurrency import run_in_threadpool
1414
from starlette.requests import Request
1515
from starlette.responses import Response
16-
from starlette.routing import BaseRoute, Match, request_response
16+
from starlette.routing import BaseRoute, Match
1717
from starlette.status import HTTP_204_NO_CONTENT
1818

1919
from stac_fastapi.api.models import APIRequest

stac_fastapi/types/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ classifiers = [
3232
]
3333
dynamic = ["version"]
3434
dependencies = [
35-
"fastapi>=0.109.0,<0.118.0",
35+
"fastapi>=0.109.0",
3636
"attrs>=23.2.0",
3737
"pydantic-settings>=2",
3838
"stac_pydantic>=3.3.0,<4.0",

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)