[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "klamath" description = "GDSII format reader/writer" readme = "README.md" license = { file = "LICENSE.md" } authors = [ { name="Jan Petykiewicz", email="jan@mpxd.net" }, ] homepage = "https://mpxd.net/code/jan/klamath" repository = "https://mpxd.net/code/jan/klamath" keywords = [ "layout", "gds", "gdsii", "gds2", "Calma", "stream", "design", "CAD", "EDA", "electronics", "photonics", "IC", "mask", "pattern", "drawing", "lithography", "litho", "geometry", "geometric", "polygon", "vector", ] classifiers = [ "Programming Language :: Python :: 3", "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Manufacturing", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)", ] requires-python = ">=3.8" include = [ "LICENSE.md" ] dynamic = ["version"] dependencies = [ "numpy~=1.21", ] [tool.hatch.version] path = "klamath/__init__.py" [tool.ruff] exclude = [ ".git", "dist", ] line-length = 145 indent-width = 4 lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" lint.select = [ "NPY", "E", "F", "W", "B", "ANN", "UP", "SLOT", "SIM", "LOG", "C4", "ISC", "PIE", "PT", "RET", "TCH", "PTH", "INT", "ARG", "PL", "R", "TRY", "G010", "G101", "G201", "G202", "Q002", "Q003", "Q004", ] lint.ignore = [ #"ANN001", # No annotation "ANN002", # *args "ANN003", # **kwargs "ANN401", # Any "ANN101", # self: Self "SIM108", # single-line if / else assignment "RET504", # x=y+z; return x "PIE790", # unnecessary pass "ISC003", # non-implicit string concatenation "C408", # dict(x=y) instead of {'x': y} "PLR09", # Too many xxx "PLR2004", # magic number "PLC0414", # import x as x "TRY003", # Long exception message ]