-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpyproject.toml
154 lines (125 loc) · 3.69 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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
[tool.poetry]
name = "hackthetrack"
version = "0.1.0"
description = ""
authors = ["flfuchs <[email protected]>"]
readme = "README.md"
[tool.poetry.dependencies]
python = "~3.10"
ugraph = { version = "^0.73.0", extras = ["plotting"] }
tqdm = "^4.62.3"
pandas = "^2.2.3"
pyyaml = "^6.0.2"
[tool.poetry.urls]
homepage = "https://www.ivt.ethz.ch/"
[tool.poetry.dev-dependencies]
isort = "~5.13.2"
black = "~24.10.0"
radon = "~6.0.1"
pylint = "~3.3.2"
mypy = "~1.13.0"
[[tool.poetry.source]]
name = "hexaly"
url = "https://pip.hexaly.com"
priority = "supplemental"
[tool.poetry.group.hexaly.dependencies]
hexaly = {version = "^13.0.20241205", source = "hexaly"}
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black]
line-length = 120
skip-magic-trailing-comma = "True"
target-version = ["py311", "py310", ]
exclude = "/(\n \\.eggs\n | \\.git\n | \\.hg\n | \\.mypy_cache\n | \\.tox\n | \\.venv\n | _build\n | buck-out\n | build\n | venv\n | build_venv\n | dist\n)/\n"
[tool.isort]
profile = "black"
line_length = 120
src_paths = ["src", "test", ]
skip_glob = ["venv/*", "build_venv/*", ]
[tool.flake8]
max-line-length = 120
exclude = ".git,__pycache__,docs/source/conf.py,build,dist,tests"
ignore = "I101,D100,D101,D102,D103,D104,D105,D107,D401,E203,I900,N802,N806,N812,W503,S311,S605,S607,ISC003,ISC001,T101,T000,F541,PL123"
per-file-ignores = "__init__.py:F401,F403"
[tool.mypy]
ignore_missing_imports = "True"
disallow_untyped_defs = "True"
check_untyped_defs = "True"
warn_redundant_casts = "True"
no_implicit_optional = "True"
strict_optional = "True"
[tool.pylint]
ignore = "CVS"
persistent = "yes"
jobs = 4
unsafe-load-any-extension = "no"
[tool.pylint."MESSAGES CONTROL"]
disable = "C0114,C0116,C0115,C0201,R0904,R0903,W1514"
[tool.pylint.reports]
output-format = "text"
reports = "no"
[tool.pylint.logging]
logging-modules = "logging"
[tool.pylint.variables]
init-import = "no"
dummy-variables-rgx = "_$|dummy"
callbacks = "cb_,_cb"
[tool.pylint.typecheck]
ignore-mixin-members = "yes"
ignored-modules = "grcp*,gurobipy,pycryptosat"
[tool.pylint.similarities]
min-similarity-lines = 4
ignore-comments = "yes"
ignore-docstrings = "yes"
ignore-imports = "no"
[tool.pylint.miscellaneous]
notes = "FIXME,TODO"
[tool.pylint.spelling]
spelling-store-unknown-words = "no"
[tool.pylint.format]
max-line-length = 120
ignore-long-lines = "^\\s*(# )?<?https?://\\S+>?$"
single-line-if-stmt = "no"
max-module-lines = 1000
indent-string = " "
indent-after-paren = 4
[tool.pylint.basic]
good-names = "i,j,k,_,lb,ub,dt,db"
bad-names = "foo,bar,baz,toto,tutu,tata,test,l"
include-naming-hint = "True"
variable-rgx = "[a-z_][a-z0-9_]{2,30}$"
class-rgx = "[A-Z_][a-zA-Z0-9]+$"
attr-rgx = "[a-z_][a-z0-9_]{1,30}$"
method-rgx = "[a-z_][a-z0-9_]{2,40}$"
argument-rgx = "[a-z_][a-z0-9_]{2,30}$"
const-rgx = "(([A-Z_][A-Z0-9_]*)|(__.*__))$"
module-rgx = "(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$"
inlinevar-rgx = "[A-Za-z_][A-Za-z0-9_]*$"
function-rgx = "[a-z_][a-z0-9_]{2,40}$"
class-attribute-rgx = "([A-Za-z_][A-Za-z0-9_]{1,30}|(__.*__))$"
no-docstring-rgx = "^_"
docstring-min-length = -1
[tool.pylint.elif]
max-nested-blocks = 5
[tool.pylint.imports]
deprecated-modules = "optparse"
[tool.pylint.designs]
max-args = 5
ignored-argument-names = "_.*"
max-locals = 15
max-returns = 9
max-branches = 12
max-statements = 50
max-parents = 7
max-attributes = 7
min-public-methods = 2
max-public-methods = 20
max-bool-expr = 5
[tool.pylint.classes]
defining-attr-methods = "__init__,__new__"
valid-classmethod-first-arg = "cls"
valid-metaclass-classmethod-first-arg = "mcs"
exclude-protected = "_asdict,_fields,_replace,_source,_make"
[tool.pylint.exceptions]
overgeneral-exceptions = "builtins.Exception"