pydantic>=2.0.0
rfc8785>=0.1.4
tenacity>=8.0.0
pyyaml>=6.0
cryptography>=46.0.7

[consul]
python-consul2>=0.1.5

[contracts]

[dev]
isa-common[full]
build>=1.2.2
wheel>=0.45.1
jsonschema>=4.23.0
pytest>=7.0.0
pytest-asyncio>=0.21.0
mypy>=1.0.0
ruff==0.15.13

[dev:python_version < "3.10"]
black==23.12.1
isort==5.13.2

[dev:python_version >= "3.10"]
black==26.5.1
isort==8.0.1

[falkordb]
falkordb>=1.0.0

[full]
isa-common[consul,falkordb,grpc,http,local,mqtt,nats,neo4j,postgres,qdrant,redis,s3]

[grpc]
grpcio>=1.50.0
grpcio-tools>=1.50.0

[http]
aiohttp>=3.9.0

[local]
aiosqlite>=0.19.0
aiofiles>=23.0.0
duckdb>=1.1.0

[metrics]
prometheus-client>=0.20.0
starlette>=0.27.0

[mqtt]
aiomqtt>=2.0.0

[nats]
nats-py>=2.6.0

[neo4j]
neo4j>=5.0.0

[observability]
isa-common[metrics,tracing]

[postgres]
asyncpg>=0.29.0

[qdrant]
qdrant-client>=1.10.0

[redis]
redis>=5.0.0

[s3]
aioboto3>=13.0.0
aiofiles>=23.0.0

[tracing]
opentelemetry-sdk>=1.20.0
opentelemetry-exporter-otlp-proto-grpc>=1.20.0
opentelemetry-instrumentation-fastapi>=0.41b0

[tracing-extras]
opentelemetry-instrumentation-aiohttp-client>=0.41b0
opentelemetry-instrumentation-asyncpg>=0.41b0
opentelemetry-instrumentation-redis>=0.41b0
opentelemetry-instrumentation-httpx>=0.41b0
