-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
122 lines (104 loc) · 2.38 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
[tool.poetry]
name = "tams"
version = "0.0.1"
description = ""
authors = [
"Moritz Sauter <sauter@synyx.de>",
"David Bauer <bauer@synyx.de>",
]
license = "MIT"
readme = "README.md"
packages = [
{ include = "tams", from = "src" }
]
[tool.poetry.scripts]
tams = "tams.main:run"
[tool.poetry.dependencies]
python = "^3.8"
overrides = "^6.1.0"
Flask = "^2.1.2"
dataclasses-json = "^0.5.7"
StrEnum = "^0.4.7"
requests = "^2.28.0"
Flask-Cors = "^3.0.10"
pytest-mock = "^3.10.0"
[tool.poetry.dev-dependencies]
types-requests = "^2.27.30"
black = "^22.3.0"
mypy = "^0.961"
pylint = "^2.14.2"
pyupgrade = "^2.34.0"
isort = "^5.10.1"
pytest = "^7.1.2"
[build-system]
requires = ["poetry_core>=1.0.0", "setuptools"]
build-backend = "poetry.core.masonry.api"
[tool.isort]
profile = "black"
[tool.pylint.master]
extension-pkg-whitelist = ["numpy", "cv2"]
jobs = 0
[tool.pylint.basic]
good-names = [
"i", # iterator
"_", "__", "___", # unneeded variable
"T", # generic type
"id",
]
[tool.pylint.typecheck]
# pure c module
generated-members = ["prctl.set_name"]
# necessary, at least for systems without cuda
# otherwise extension-pkg-whitelist should do the trick
ignored-modules = [
"cv2.fisheye"
]
[tool.pylint.message_control]
disable = [
"missing-module-docstring", "missing-class-docstring", "missing-function-docstring",
"no-member", # sadly dataclass_json annotations don't work with pylint
"line-too-long",
"too-few-public-methods",
"duplicate-code",
"too-many-ancestors",
]
enable = [
"useless-suppression"
]
[tool.pylint.design]
max-attributes = 10
[tool.mypy]
python_version = "3.10"
files = "src"
junit_xml = "xunit-reports/xunit-result-mypy.xml"
# output style configuration
show_column_numbers = true
show_error_codes = true
pretty = true
# additional warnings
warn_return_any = true
warn_unused_configs = true
warn_unused_ignores = true
warn_redundant_casts = true
warn_no_return = true
no_implicit_optional = true
warn_unreachable = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
# disallow_any_explicit = true
disallow_any_generics = true
disallow_untyped_calls = true
enable_error_code = [
"ignore-without-code",
]
# ignores that library has no typing information with it
[[tool.mypy.overrides]]
module = [
"prctl",
"paho.*",
"snap7.*",
"strenum",
"dataclasses_json",
"flask_cors"
]
ignore_missing_imports = true