91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
| [build-system]
 | |
| requires = ["hatchling"]
 | |
| build-backend = "hatchling.build"
 | |
| 
 | |
| [project]
 | |
| name = "fatamorgana"
 | |
| description = "OASIS layout format parser and writer"
 | |
| readme = "README.md"
 | |
| license = { file = "LICENSE.md" }
 | |
| authors = [
 | |
|     { name="Jan Petykiewicz", email="jan@mpxd.net" },
 | |
|     ]
 | |
| homepage = "https://mpxd.net/code/jan/fatamorgana"
 | |
| repository = "https://mpxd.net/code/jan/fatamorgana"
 | |
| keywords = [
 | |
|     "OASIS",
 | |
|     "layout",
 | |
|     "design",
 | |
|     "CAD",
 | |
|     "EDA",
 | |
|     "oas",
 | |
|     "electronics",
 | |
|     "open",
 | |
|     "artwork",
 | |
|     "interchange",
 | |
|     "standard",
 | |
|     "mask",
 | |
|     "pattern",
 | |
|     "IC",
 | |
|     "geometry",
 | |
|     "geometric",
 | |
|     "polygon",
 | |
|     "gds",
 | |
|     ]
 | |
| classifiers = [
 | |
|     "Programming Language :: Python :: 3",
 | |
|     "Development Status :: 3 - Alpha",
 | |
|     "Environment :: Other Environment",
 | |
|     "Intended Audience :: Developers",
 | |
|     "Intended Audience :: Information Technology",
 | |
|     "Intended Audience :: Manufacturing",
 | |
|     "Intended Audience :: Science/Research",
 | |
|     "License :: OSI Approved :: GNU Affero General Public License v3",
 | |
|     "Topic :: Scientific/Engineering",
 | |
|     "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
 | |
|     ]
 | |
| requires-python = ">=3.11"
 | |
| dynamic = ["version"]
 | |
| dependencies = [
 | |
|     ]
 | |
| 
 | |
| [tool.hatch.version]
 | |
| path = "fatamorgana/__init__.py"
 | |
| 
 | |
| [project.optional-dependencies]
 | |
| numpy = ["numpy>=1.26"]
 | |
| 
 | |
| 
 | |
| [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
 | |
|     ]
 | |
| 
 |