httpx<1.0.0,>=0.26.0
pydantic<3.0.0,>=2.0.0
pydantic-settings<3.0.0,>=2.14.2
isa-common<0.7.0,>=0.6.10
isa-mcp<2.0.0,>=1.0.4
isa-model<0.8.0,>=0.6.2
huggingface_hub>=0.20.0
langchain-core<2.0.0,>=1.3.3
langgraph<2.0.0,>=1.0.0
langchain-anthropic<2.0.0,>=1.4.6
langchain-openai<2.0.0,>=1.1.14
anyio<5.0.0,>=4.14.2
aiofiles<26.0.0,>=23.0.0
aiohttp<4.0.0,>=3.14.4
rich<15.0.0,>=13.0.0
PyYAML>=6.0
python-dotenv<2.0.0,>=1.0.0
psutil<8.0.0,>=5.9.0
click<9.0,>=8.0
PyJWT<3.0.0,>=2.15.1
cryptography<51.0.0,>=50.0.0
redis<9.0.0,>=5.0.0
jsonschema<5.0.0,>=4.18.0
certifi>=2026.10.19
filelock<5.0.0,>=4.2.1
multidict<7.0.0,>=6.9.1
Pillow<14.0.0,>=13.0.0
urllib3<3.0.0,>=2.8.0
mcp<2.0.0,>=1.30.0
Mako<2.0.0,>=1.4.2
langgraph-sdk<1.0.0,>=0.4.4
setuptools>=84.1.0

[all]
isa-agent-sdk[analytics,dev,hardware,keychain,nats,observability,persistence,server,voice]

[analytics]
pandas<3.0.0,>=2.0.0
pyarrow<24.0.0,>=23.0.1

[dev]
pytest<10.0.0,>=9.0.3
pytest-asyncio<2.0.0,>=0.21.0
pytest-cov<8.0.0,>=4.0.0
build<2.0.0,>=1.2.2
wheel==0.47.0
fakeredis[lua]<3.0.0,>=2.21.0
msgpack<2.0.0,>=1.2.3
black==26.10.1
isort==8.0.1
ruff==0.15.13
mypy<2.0.0,>=1.0.0
pip-audit>=2.6.0
cyclonedx-bom>=4.0.0

[dev:python_version < "3.11"]
tomli>=2.0.0

[hardware]
aiomqtt<3.0.0,>=2.5.1

[keychain]
keyring>=24.0.0

[nats]
nats-py<3.0.0,>=2.6.0
nkeys<1.0.0,>=0.2.0

[observability]
opentelemetry-api>=1.45.1
opentelemetry-sdk>=1.45.1
opentelemetry-exporter-otlp>=1.45.1

[persistence]
sqlalchemy<3.0.0,>=2.0.0
aiosqlite<1.0.0,>=0.19.0
langgraph-checkpoint-sqlite<4.0.0,>=3.1.2

[server]
fastapi<1.0.0,>=0.109.0
uvicorn<1.0.0,>=0.27.0
sse-starlette<4.0.0,>=1.6.5
python-multipart<1.0.0,>=0.0.31
prometheus_client<1.0.0,>=0.20.0

[voice]
sounddevice<1.0.0,>=0.4.6
webrtcvad<3.0.0,>=2.0.10
