aenum<4,>=3.1.15
cachetools>=5.2.0
klayout<0.31.0,>=0.30.5
loguru<0.8,>=0.7.3
pydantic<2.13,>=2.12
pydantic-extra-types>=2.10.5
pydantic-settings<3,>=2.0.1
pygit2<2,>=1.18.2
rapidfuzz<4,>=3.13.0
rectangle-packer<3,>=2.0.2
requests<3,>=2.23.3
ruamel.yaml.string<0.2,>=0.1.1
scipy<2,>=1.14.1
toolz<2,>=1
typer<0.21,>=0.20
semver<4,>=3.0.4

[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
pytest-regressions>=2.8.3
pytest-datadir>=1.8.0
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
python-lsp-server[all]>=1.13.1
ruff>=0.9.2
rust-just>=1.42.4
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]
erdantic>=1.1.1
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
ruff>=0.9.2

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