Skip to content

Commit fe5de77

Browse files
fix: remove unused import and request for FastAPI in pyproject (#934)
# Description This PR removes unused imports and dependencies across the project.
1 parent 677bb71 commit fe5de77

5 files changed

Lines changed: 8 additions & 27 deletions

File tree

GEMINI.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
- **Language**: Python 3.10+
1010
- **Package Manager**: `uv`
11-
- **Lead Transports**: FastAPI (REST/JSON-RPC), gRPC
11+
- **Lead Transports**: Starlette (REST/JSON-RPC), gRPC
1212
- **Data Layer**: SQLAlchemy (SQL), Pydantic (Logic/Legacy), Protobuf (Modern Messaging)
1313
- **Key Directories**:
1414
- `/src`: Core implementation logic.

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ classifiers = [
3434
]
3535

3636
[project.optional-dependencies]
37-
http-server = ["fastapi>=0.115.2", "sse-starlette", "starlette"]
37+
http-server = ["sse-starlette", "starlette"]
3838
encryption = ["cryptography>=43.0.0"]
3939
grpc = ["grpcio>=1.60", "grpcio-tools>=1.60", "grpcio-status>=1.60", "grpcio_reflection>=1.7.0"]
4040
telemetry = ["opentelemetry-api>=1.33.0", "opentelemetry-sdk>=1.33.0"]
@@ -107,6 +107,7 @@ style = "pep440"
107107

108108
[dependency-groups]
109109
dev = [
110+
"fastapi>=0.115.2",
110111
"mypy>=1.15.0",
111112
"PyJWT>=2.0.0",
112113
"pytest>=8.3.5",

src/a2a/server/routes/jsonrpc_dispatcher.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,7 @@
6262
logger = logging.getLogger(__name__)
6363

6464
if TYPE_CHECKING:
65-
from fastapi import FastAPI
6665
from sse_starlette.sse import EventSourceResponse
67-
from starlette.applications import Starlette
68-
from starlette.authentication import BaseUser
6966
from starlette.exceptions import HTTPException
7067
from starlette.requests import Request
7168
from starlette.responses import JSONResponse, Response
@@ -80,11 +77,8 @@
8077

8178
_package_starlette_installed = True
8279
else:
83-
FastAPI = Any
8480
try:
8581
from sse_starlette.sse import EventSourceResponse
86-
from starlette.applications import Starlette
87-
from starlette.authentication import BaseUser
8882
from starlette.exceptions import HTTPException
8983
from starlette.requests import Request
9084
from starlette.responses import JSONResponse, Response
@@ -103,8 +97,6 @@
10397
# Provide placeholder types for runtime type hinting when dependencies are not installed.
10498
# These will not be used if the code path that needs them is guarded by _http_server_installed.
10599
EventSourceResponse = Any
106-
Starlette = Any
107-
BaseUser = Any
108100
HTTPException = Any
109101
Request = Any
110102
JSONResponse = Any

src/a2a/server/routes/rest_routes.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,15 @@
1414

1515

1616
if TYPE_CHECKING:
17-
from sse_starlette.sse import EventSourceResponse
18-
from starlette.requests import Request
19-
from starlette.responses import JSONResponse, Response
2017
from starlette.routing import BaseRoute, Mount, Route
2118

2219
_package_starlette_installed = True
2320
else:
2421
try:
25-
from sse_starlette.sse import EventSourceResponse
26-
from starlette.requests import Request
27-
from starlette.responses import JSONResponse, Response
2822
from starlette.routing import BaseRoute, Mount, Route
2923

3024
_package_starlette_installed = True
3125
except ImportError:
32-
EventSourceResponse = Any
33-
Request = Any
34-
JSONResponse = Any
35-
Response = Any
3626
Route = Any
3727
Mount = Any
3828
BaseRoute = Any

uv.lock

Lines changed: 5 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)