fathom-rules>=0.3.0
asyncpg>=0.30.0
pgvector>=0.3.0
pyyaml>=6.0
pyjwt>=2.12.1
cryptography>=46.0.7
fastapi>=0.115
uvicorn[standard]>=0.30
httpx>=0.27
elasticsearch<10,>=8
neo4j>=5
mcp>=1.12
sse-starlette>=2.0
python-multipart>=0.0.9
jinja2>=3.1
influxdb-client>=1.40
aiobotocore>=2.12

[dev]
pytest>=8.0
pytest-asyncio>=0.23
pytest-cov>=5.0
testcontainers[postgres]>=4.0
ruff>=0.5
pyright>=1.1.370
pip-licenses>=5.0
respx>=0.21
pytest-recording>=0.13
testcontainers[elasticsearch,neo4j]>=4.0
locust>=2.0
mkdocs>=1.6
mkdocs-material>=9.0
mkdocstrings[python]>=0.24
copier>=9.0

[docs]
mkdocs-material>=9.5
mkdocstrings[python]>=0.24
mike>=2.1

[llm-anthropic]
anthropic>=0.40

[llm-openai]
openai>=1.50

[otel]
opentelemetry-sdk>=1.20
opentelemetry-api>=1.20
opentelemetry-instrumentation-fastapi>=0.41b0
opentelemetry-exporter-otlp-proto-http>=1.20
prometheus-client>=0.20
