typing_extensions>=4.15.0
Deprecated>=1.3.1

[charts]
matplotlib>=3.10.9
pandas>=3.0.2

[charts:python_version < "3.12"]
numpy>=2.4.6
scipy>=1.17.1

[charts:python_version >= "3.12"]
numpy>=2.5.0
scipy>=1.18.0

[dev]
matplotlib>=3.10.9
pandas>=3.0.2
ipykernel>=7.3.0
nbformat>=5.10.4
pyright>=1.1.411
pylint>=4.0.6
pytest>=9.1.1
pytest-cov>=7.1.0
ruff>=0.15.21
cython-lint>=0.21.0
pre-commit>=4.6.0
types-deprecated>=1.3.1.20260520
pandas-stubs>=3.0.3.260530

[dev:python_version < "3.12"]
numpy>=2.4.6
scipy>=1.17.1
scipy-stubs>=1.17.1.5

[dev:python_version >= "3.12"]
numpy>=2.5.0
scipy>=1.18.0
scipy-stubs>=1.18.0.0

[docs]
mkdocs-mermaid2-plugin>=1.2.3
mkdocs>=1.6.1
mkdocs-exclude>=1.0.2
mkdocs-material[imaging]>=9.7.0
mkdocs-redirects>=1.2.2
mkdocstrings>=1.0.6
mkdocstrings-python>=2.0.5
mkdocs-autorefs>=1.4.3
mike>=2.2.0
pydocstyle>=6.3.0
mkdocs-macros-plugin>=1.3.7
setuptools-scm>=10.2.0

[exts]
py_ballisticcalc.exts==2.3.0rc2

[scipy]

[scipy:python_version < "3.12"]
numpy>=2.4.6
scipy>=1.17.1

[scipy:python_version >= "3.12"]
numpy>=2.5.0
scipy>=1.18.0
