numpy<3.0,>=1.24
scipy<2.0,>=1.11
pyyaml<7.0,>=6.0
click<9.0,>=8.1

[dev]
pytest<10.0,>=9.0.3
pytest-asyncio<2.0,>=0.23
pytest-cov<8.0,>=4.1
hypothesis<7.0,>=6.82
coverage[toml]<8.0,>=7.3
ruff==0.15.9
mypy<2.0,>=1.19.1
types-PyYAML<7.0,>=6.0
bandit==1.9.4
mkdocs-material<10.0,>=9.5
mkdocstrings[python]<2.0,>=0.24
pymdown-extensions<11.0,>=10.0
pygments<2.21,>=2.20
pre-commit<5.0,>=3.5
twine<6.0,>=5.0
pytest-benchmark<6.0,>=5.0

[full]
neurolib<1.0,>=0.6
grpcio<2.0,>=1.60
grpcio-tools<2.0,>=1.60
protobuf<8.0,>=4.0
pymodbus<4.0,>=3.5
jax<1.0,>=0.4
diffrax<1.0,>=0.5
rtamt<1.0,>=0.3
ripser<1.0,>=0.6

[fusion]
scpn-fusion-core>=3.9.0

[lava]
lava-nc>=0.9

[nengo]

[nn]
jax<1.0,>=0.4
equinox<1.0,>=0.11
optax<1.0,>=0.2

[notebook]
jupyter<2.0,>=1.0
jupyterlab<5.0,>=4.5.7
notebook<8.0,>=7.5.6
nbconvert<8.0,>=7.0
matplotlib<4.0,>=3.7

[otel]
opentelemetry-api<2.0,>=1.20
opentelemetry-sdk<2.0,>=1.20

[plasma]
scpn-control>=0.1.0

[plot]
matplotlib<4.0,>=3.7

[quantum]
scpn-quantum-control>=0.1.0

[queuewaves]
fastapi<1.0,>=0.110
uvicorn[standard]<1.0,>=0.27
httpx<1.0,>=0.27
websockets<17.0,>=12.0

[rust]
spo-kernel>=0.2.0

[scpn-all]
spo-kernel>=0.2.0
scpn-quantum-control>=0.1.0
scpn-control>=0.1.0
scpn-fusion-core>=3.9.0
