fastapi>=0.133.0
pydantic-settings>=2.10.1
starlette>=1.3.1

[all]
orjson>=3.11.7
prometheus-client>=0.24.1
loguru>=0.7.2
opentelemetry-api>=1.45.1
opentelemetry-sdk>=1.45.1
opentelemetry-exporter-otlp>=1.45.1
opentelemetry-instrumentation-fastapi>=0.66b1
opentelemetry-instrumentation-logging>=0.66b1
opentelemetry-instrumentation-httpx>=0.66b1
opentelemetry-instrumentation-requests>=0.66b1
opentelemetry-instrumentation-sqlalchemy>=0.66b1
sqlalchemy<2.1,>=2.0

[dev]
hypothesis>=6.170.14
jsonschema>=4.26.0
httpx>=0.28.1
httpx2>=2.16.0
loguru>=0.7.3
mypy>=2.4.1
pip-audit>=2.10.1
pytest>=9.2.0
pytest-cov>=7.1.0
pytest-randomly>=5.0.0
ruff>=0.17.3
sqlalchemy[asyncio]>=2.0.0
aiosqlite>=0.20.0
strawberry-graphql>=0.339.1
uvicorn>=0.54.0

[fast-json]
orjson>=3.11.7

[loguru]
loguru>=0.7.2

[otel]
opentelemetry-api>=1.45.1
opentelemetry-sdk>=1.45.1
opentelemetry-exporter-otlp>=1.45.1
opentelemetry-instrumentation-fastapi>=0.66b1
opentelemetry-instrumentation-logging>=0.66b1

[otel-httpx]
opentelemetry-instrumentation-httpx>=0.66b1

[otel-requests]
opentelemetry-instrumentation-requests>=0.66b1

[otel-sqlalchemy]
opentelemetry-instrumentation-sqlalchemy>=0.66b1
sqlalchemy<2.1,>=2.0

[prometheus]
prometheus-client>=0.24.1
