pyyaml<7.0,>=6.0
rich>=14.3.4

[agent]
instructor<2.0,>=1.6
litellm<2.0,>=1.51
openai<3.0,>=1.54
tiktoken<1.0,>=0.8

[all]
apscheduler<4.0,>=3.10
arq<1.0,>=0.26
fastapi<1.0,>=0.115
hypothesis<7.0,>=6.112
httpx<1.0,>=0.27
import-linter<3.0,>=2.0
instructor<2.0,>=1.6
litellm<2.0,>=1.51
mutmut<4.0,>=3.2
mypy<3.0,>=1.11
mss<11.0,>=9.0
nfo<1.0,>=0.2.22
openai<3.0,>=1.54
opentelemetry-exporter-otlp<2.0,>=1.28
opentelemetry-instrumentation-fastapi<1.0,>=0.49b0
opentelemetry-instrumentation-httpx<1.0,>=0.49b0
opentelemetry-sdk<2.0,>=1.28
pre-commit<5.0,>=3.8
prometheus-client<1.0,>=0.21
pyright<2.0,>=1.1.390
pytest<10.0,>=8.0
pytest-cov<8.0,>=5.0
pytest-rerunfailures<17.0,>=14.0
pytest-timeout<3.0,>=2.3
pytest-xdist<4.0,>=3.0
pyupgrade<4.0,>=3.17
redis<8.0,>=5.1
refurb<3.0,>=2.0
ruff<0.16,>=0.11
sentry-sdk<3.0,>=2.18
structlog<26.0,>=24.4
tiktoken<1.0,>=0.8
types-PyYAML<7.0,>=6.0
uvicorn[standard]<1.0,>=0.30
websockets<17.0,>=12.0
goal>=2.1.0
costs>=0.1.20
pfix>=0.1.60
tagi>=0.49.0

[api]
fastapi<1.0,>=0.115
uvicorn[standard]<1.0,>=0.30
httpx<1.0,>=0.27
prometheus-client<1.0,>=0.21

[dev]
pytest<10.0,>=8.0
pytest-cov<8.0,>=5.0
pytest-rerunfailures<17.0,>=14.0
pytest-timeout<3.0,>=2.3
pytest-xdist<4.0,>=3.0
ruff<0.16,>=0.11
mypy<3.0,>=1.11
pyright<2.0,>=1.1.390
hypothesis<7.0,>=6.112
pre-commit<5.0,>=3.8
types-PyYAML<7.0,>=6.0
goal>=2.1.0
costs>=0.1.20
pfix>=0.1.60
tagi>=0.49.0

[mesh]
websockets<17.0,>=12.0

[obs]
nfo<1.0,>=0.2.22
opentelemetry-exporter-otlp<2.0,>=1.28
opentelemetry-instrumentation-fastapi<1.0,>=0.49b0
opentelemetry-instrumentation-httpx<1.0,>=0.49b0
opentelemetry-sdk<2.0,>=1.28
sentry-sdk<3.0,>=2.18
structlog<26.0,>=24.4

[observe]
mss<11.0,>=9.0
websockets<17.0,>=12.0

[quality]
import-linter<3.0,>=2.0
mutmut<4.0,>=3.2
pyupgrade<4.0,>=3.17
refurb<3.0,>=2.0

[queue]
apscheduler<4.0,>=3.10
arq<1.0,>=0.26
redis<8.0,>=5.1

[vision]
mss<11.0,>=9.0

[watch]
websockets<17.0,>=12.0
