numpy>=1.24
scipy>=1.9
networkx<4.0,>=2.6
cachetools<8.0,>=5.0
mpmath<2.0,>=1.3

[compute-jax]
jax<1.0,>=0.4

[compute-torch]
torch<3.0,>=2.1

[dev-full]
tnfr[compute-jax,test-parallel,test-performance,test-property,test-quality,test-unit,typecheck]
matplotlib<4.0,>=3.7

[dev-minimal]
tnfr[test-unit]
mypy<2.0,>=1.8
black<26,>=23

[docs]
mkdocs<2,>=1.6
mkdocs-material<10,>=9.4
pymdown-extensions<11,>=10

[jax]
jax<1.0,>=0.4

[numpy]

[orjson]
orjson<4,>=3

[release]
build<2,>=1
twine<8,>=6

[research-data]

[research-data:python_version >= "3.11"]
rdata==1.1.0

[security]
pip-audit<3.0,>=2.7
bandit<2.0,>=1.7

[serialization]
pyyaml<7.0,>=6.0
orjson<4,>=3

[test]
tnfr[test-all]

[test-all]
tnfr[test-parallel,test-performance,test-property,test-quality,test-unit]
matplotlib<4.0,>=3.7
sympy>=1.10

[test-parallel]
pytest-xdist<4,>=3

[test-performance]
pytest-benchmark<6,>=4

[test-property]
hypothesis<7,>=6
hypothesis-networkx<1.0,>=0.3

[test-quality]
pydocstyle<7,>=6
flake8<8,>=5
flake8-pyproject<2.0,>=1.2
vulture<3,>=2

[test-unit]
pytest<10,>=7.4
pytest-cov<8,>=4
pytest-timeout<3,>=2

[torch]
torch<3.0,>=2.1

[typecheck]
mypy<2.0,>=1.8
pyright<1.2.0,>=1.1.350
networkx-stubs>=0.0.1
types-cachetools>=6.0.0.0

[viz]
matplotlib<4.0,>=3.7

[viz-basic]
matplotlib<4.0,>=3.7
sympy<2.0,>=1.12

[yaml]
pyyaml<7.0,>=6.0
