-
Notifications
You must be signed in to change notification settings - Fork 59
/
pyproject.toml
91 lines (77 loc) · 2.48 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
[tool.poetry]
name = "hammer-vlsi"
version = "0.0.0"
description = "Hammer is a physical design framework that wraps around vendor specific technologies and tools to provide a single API to create ASICs."
authors = ["Colin Schmidt <[email protected]>", "Edward Wang <[email protected]>", "John Wright <[email protected]>"]
maintainers = ["Harrison Liew <[email protected]>", "Daniel Grubb <[email protected]>"]
readme = "README.md"
repository = "https://github.com/ucb-bar/hammer"
packages = [
{include = "hammer"}
]
[tool.poetry.scripts]
hammer-generate-mdf = "hammer.shell.hammer_generate_mdf:main"
get-config = "hammer.shell.get_config:main"
hammer-vlsi = "hammer.shell.hammer_vlsi:main"
hammer-shell-test = "hammer.shell.hammer_shell_test:main"
readlink-array = "hammer.shell.readlink_array:main"
yaml2json = "hammer.shell.yaml2json:main"
asap7_gds_scale = "hammer.technology.asap7.gds_scale:main"
[tool.poetry.dependencies]
python = "^3.9"
pydantic = "^2.6.3"
PyYAML = "^6.0"
"ruamel.yaml" = "^0.17.21"
networkx = "^3.0"
numpy = "^1.23.0"
sphinxcontrib-mermaid = "^0.8.1"
gdstk = { version = "^0.9.0", optional = true }
gdspy = { version = "1.4", optional = true }
[tool.poetry.extras]
asap7-gdstk = ["gdstk"]
asap7 = ["gdspy"]
[tool.poetry.dev-dependencies]
pytest = "^7.1"
pyright = "^1.1"
types-PyYAML = "^6.0.0"
tox = "^3.25.1"
Sphinx = "^5.1.1"
sphinx-rtd-theme = "^1.0.0"
myst-parser = "^0.18.0"
sphinx-jsonschema = "^1.19.1"
sphinx_rtd_size = "^0.2.0"
pylint = "^2.15"
[[tool.poetry.source]]
name = "testpypi"
url = "https://test.pypi.org/legacy/"
priority = "explicit"
[build-system]
requires = ["poetry-core>=1.0.8", "setuptools>=65.3"]
build-backend = "poetry.core.masonry.api"
[tool.tox]
legacy_tox_ini = """
[tox]
envlist = py39,py310
isolated_build = True
[testenv]
deps = pytest
commands =
pytest tests/ {posargs}
"""
[tool.pylint.format]
# Maximum number of characters on a single line.
max-line-length = 120
[tool.pylint.reports]
output-format = "text"
reports = true
[tool.pylint."messages control"]
# Disable no-else-return since it's sometimes clearer to use else
# Also emulates a functional programming style
# Disable len-as-condition since len(lst) == 0 is more clear on types
# where as if <var> is confusing since it's not clear what <var> is.
disable = ["no-else-return", "len-as-condition"]
[tool.pyright]
exclude = ["doc/**", "e2e/**", "test_scripts/**"]
include = ["hammer", "tests"]
reportMissingImports = true
typeCheckingMode = "standard"