numpy<3.0,>=1.26
matplotlib<4.0,>=3.8
pennylane<1.0,>=0.35

[all]
cvxpy<2.0,>=1.4
osqp<1.0,>=0.6
sphinx<9,>=8
furo>=2024.8.6
myst-parser<5,>=4
jupyter>=1.0
jupytext<2.0,>=1.16
pandas<3.0,>=2.0
yfinance<0.3.0,>=0.2.40
scikit-learn<2.0,>=1.4

[data]
pandas<3.0,>=2.0
yfinance<0.3.0,>=0.2.40
scikit-learn<2.0,>=1.4

[dev]
pytest<9,>=8
nbmake<2.0,>=1.5
ruff<1.0,>=0.6
black<26.0,>=24.0
build<2.0,>=1.2
twine<7,>=6

[dev:python_version < "3.11"]
tomli<3.0,>=2.0

[docs]
sphinx<9,>=8
furo>=2024.8.6
myst-parser<5,>=4

[markowitz]
cvxpy<2.0,>=1.4
osqp<1.0,>=0.6

[notebooks]
jupyter>=1.0
jupytext<2.0,>=1.16
