forked from SPbSAT/cirbo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
137 lines (122 loc) · 2.94 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
[tool.poetry]
name = "cirbo"
version = "0.1.0"
description = "A New Tool for Boolean Circuit Analysis and Synthesis."
authors = ["Your Name <[email protected]>"]
readme = "README.md"
license = "LICENCE"
# Temporary guard against occasional publishing.
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
# Temporary guard against occasional publishing.
"Private :: Do not Upload",
]
[tool.poetry.dependencies]
python = "^3.9"
more-itertools = "^10.4.0"
typing-extensions = "^4.12.2"
python-sat="^1.8.dev13"
pebble = "^5.0.7"
graphviz = "^0.20.3"
[tool.poetry.group.dev.dependencies]
black = "^24.4.2"
flake8 = "^7.1.0"
flake8-bugbear = "^24.4.26"
flake8-pyproject = "^1.2.3"
mypy = "^1.9.0"
pytest = "^8.2.2"
usort = "^1.0.8.post1"
docformatter = "^1.7.5"
coverage = "^7.6.1"
mock = "^5.1.0"
[tool.poetry.group.docs.dependencies]
sphinx = "^7.4.7"
sphinx-autoapi = "^3.2.1"
[tool.poetry.build]
script = "build.py"
generate-setup-file = true
[build-system]
requires = [
"poetry-core>=1.0.0",
"setuptools>=45",
"wheel",
]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 88
skip-string-normalization = 1
[tool.flake8]
max-line-length = 88
statistics = true
count = true
show-source = true
select = [
"E711",
"E74",
"E9",
"F401",
"F406",
"F407",
"F5",
"F6",
"F7",
"F82",
"F83",
"F84",
"F9",
"N80",
"N818"
]
exclude = [
".git",
".github",
"__pycache__",
".mypy_cache",
".pytest_cache",
"venv",
".venv"
]
extend-select = [
"B950"
]
extend-ignore = [
"F632",
# Following three are disabled for compatibility with black.
# https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8
"E203",
"E501",
"E701"
]
[tool.usort]
merge_imports = true
[tool.docformatter]
black = true
blank = true
recursive = true
pre-summary-newline = true
[tool.mypy]
python_version = "3.9"
warn_unused_configs = true
check_untyped_defs = true
[[tool.mypy.overrides]]
ignore_missing_imports = true
module = ["pysat.*", "pebble.*", "mockturtle_wrapper.*", "graphviz.*"]
[tool.pytest.ini_options]
# Suppress warnings for invalid escape sequences in pysat package
addopts = "-m 'not db_aig and not db_xaig and not slow and not ABC' --ignore=third_party"
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"db_aig: marks tests that use aig database",
"db_xaig: marks tests that use xaig database",
"ABC: marks tests that use ABC extension (deselect with '-m \"not ABC\"')",
]
filterwarnings = [
"ignore:invalid escape sequence:DeprecationWarning"
]