fastapi[standard]>=0.122.0
pydantic>=2.12.5
pydantic-settings>=2.12.0
uvicorn>=0.38.0

[ai]
langchain>=1.2.15
langchain-community>=0.4.1
langchain-mcp-adapters>=0.1.14
langchain-openai>=1.1.0
openai>=2.33.0

[cache]
redis>=7.4.0

[db]
sqlalchemy>=2.0.49
asyncpg>=0.31.0
alembic>=1.17.2

[docs]
scalar-fastapi>=1.6.0

[full]
langchain>=1.2.15
langchain-community>=0.4.1
langchain-mcp-adapters>=0.1.14
langchain-openai>=1.1.0
openai>=2.33.0
langgraph>=1.1.9
sqlalchemy>=2.0.49
asyncpg>=0.31.0
alembic>=1.17.2
redis>=7.4.0
opentelemetry-api>=1.25.0
opentelemetry-sdk>=1.25.0
opentelemetry-instrumentation-fastapi>=0.46b0
opentelemetry-instrumentation-sqlalchemy>=0.46b0
opentelemetry-instrumentation-redis>=0.46b0
opentelemetry-exporter-otlp>=1.25.0
prometheus-client>=0.20.0
scalar-fastapi>=1.6.0

[observability]
opentelemetry-api>=1.25.0
opentelemetry-sdk>=1.25.0
opentelemetry-instrumentation-fastapi>=0.46b0
opentelemetry-instrumentation-sqlalchemy>=0.46b0
opentelemetry-instrumentation-redis>=0.46b0
opentelemetry-exporter-otlp>=1.25.0
prometheus-client>=0.20.0

[workflow]
langgraph>=1.1.9
