-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
99 lines (89 loc) · 2.27 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
[tool.black]
#line-length = 88
line-length = 73
[tool.coverage.run]
branch = true
command_line = "-m pytest"
omit = [
# Usually requires full-fletched set up to use.
"*/__main__.py",
# Uses pyninput which requires GUI.
"src/phile/hotkey/pynput.py",
# May be covered later. Touches on inner workings of PySide2.
"src/phile/capability/pyside2.py",
# Testing it requires setting up all capabilities.
# A little too big to test.
"src/phile/launcher/defaults.py",
# Uses QtWidgets which prints an error for every sizing event.
# "This plugin does not support propagateSizeHints()"
"src/phile/notify/pyside2.py",
"src/phile/tray/pyside2_window.py",
]
source = [
"src",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"@typing.overload",
]
fail_under = 100
show_missing = true
skip_covered = true
[tool.mypy]
mypy_path = "src:stubs:tests"
show_error_codes = true
strict = true
[tool.pylint.BASIC]
# Violation of naming convention that should be accepted.
good-names = [
# Used by convention.
"_T_co", # TypeVar name.
# Standard libraries.
"asyncSetUp", # Used by unittest.
"do_EOF", # Used by cmd.
"setUp", # Used by unittest.
# PySide2
"QtCore",
"test_QtCore",
# PySide2.QtCore
"QCoreApplication",
# PySide2.QtCore.QObject
"customEvent",
# PySide2.QtWidgets.QWidget
"changeEvent",
"closeEvent",
"hideEvent",
"keyPressEvent",
"keyReleaseEvent",
"resizeEvent",
"showEvent",
]
[tool.pylint.FORMAT]
max-line-length = 73
[tool.pylint."MESSAGES CONTROL"]
disable = [
# Not every TODO is urgent. Especially with no issue tracker.
"fixme",
# Global statements are already explicit.
# Not using per-case disables
# which will end up being used in every case.
# By doing a disable here, finding them when necessary will be easier.
"global-statement",
# It does not always make sense to document.
"missing-class-docstring",
"missing-function-docstring",
"missing-module-docstring",
# Not used in test classes.
# And sometimes having unused self is necessary when subclassing.
"no-self-use",
# Not checking based on numbers.
"too-few-public-methods",
"too-many-ancestors",
"too-many-instance-attributes",
"too-many-lines",
"too-many-public-methods",
]
extension-pkg-whitelist = [
"pydantic",
]