aenum<4,>=3.1.15
cachetools>=5.2.0
gitpython<4,>=3.1.44
loguru<0.8,>=0.7.3
klayout<0.31.0,>=0.30
pydantic<2.12,>=2.11
pydantic-settings<3,>=2.0.1
rectangle-packer<3,>=2.0.2
requests<3,>=2.23.3
ruamel.yaml.string<0.2,>=0.1.1
scipy<2,>=1.14.1
tomli<3,>=2.2.1
toolz<2,>=1
typer<0.17,>=0.15.2
pydantic-extra-types>=2.10.5

[ci]
pytest>=8.3.5
pytest-cov>=6.0.0
pytest-randomly>=3.16.0
pytest-regressions>=2.7.0
pytest-xdist>=3.6.1
types-cachetools>=5.5.0.20240820
types-requests>=2.32.0.20250328

[dev]
kfactory[ci]
mypy>=1.15.0
pre-commit>=4.2.0
pylsp-mypy>=0.7.0
pytest>=8.3.5
python-lsp-server[all]>=1.13.0
ruff>=0.9.2
tbump>=6.11.0
ty>=0.0.1a17
types-cachetools>=5.5.0.20240820
types-docutils>=0.21.0.20241128
types-pygments>=2.19.0.20250305
types-requests>=2.32.0.20250328
types-setuptools>=76.0.0.20250328
scipy-stubs

[docs]
kfactory[ipy]
markdown-exec>=1.10.3
mkdocs>=1.6.1
mkdocs-gen-files>=0.5.0
mkdocs-jupyter>=0.25.1
mkdocs-literate-nav>=0.6.2
mkdocs-material>=9.6.9
mkdocs-section-index>=0.3.9
mkdocs-video>=1.5.0
mkdocstrings[python]>=0.29.0
pymdown-extensions>=10.14.3
griffe-pydantic>=1.1.4
griffe-inherited-docstrings>=1.1.1
griffe-warnings-deprecated>=1.1.0

[ipy]
ipyevents>=2.0.2
ipython>=9.0.2
ipytree>=0.2.2
ipywidgets>=8.1.5
