-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
127 lines (108 loc) · 2.32 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
[tool.ruff]
line-length = 90
extend-exclude = [
]
lint.select = [
# Builtins
"A",
# Bugbear
"B",
# comprehensions
"C4",
# Pycodestyle
"E",
# eradicate
"ERA",
# Pyflakes
"F",
# isort
"I",
# return
"RET",
# Bandit
"S",
# print
"T20",
"W",
# flake8-2020
"YTT",
]
lint.extend-ignore = [
# Unnecessary `elif` after `return` statement
"RET505",
# Probable insecure usage of temporary file or directory
"S108",
# Possible SQL injection vector through string-based query construction
"S608",
]
lint.per-file-ignores."examples/*" = [
"ERA001", # Found commented-out code
"T201", # Allow `print`
]
lint.per-file-ignores."tests/*" = [
"S101", # Allow use of `assert`
]
[tool.pytest.ini_options]
addopts = """
-rfEXs -p pytester --strict-markers --verbosity=3
--cov --cov-report=term-missing --cov-report=xml
"""
minversion = "2.0"
log_level = "DEBUG"
log_cli_level = "DEBUG"
log_format = "%(asctime)-15s [%(name)-36s] %(levelname)-8s: %(message)s"
xfail_strict = true
[tool.coverage.run]
branch = false
source = [
".",
"examples",
]
omit = [
"tests/*",
]
[tool.coverage.report]
fail_under = 0
show_missing = true
exclude_lines = [
"# pragma: no cover",
"raise NotImplemented",
]
# ===================
# Tasks configuration
# ===================
[tool.poe.tasks]
check = [
"check-cpython",
"check-micropython",
]
check-cpython = [
"lint-cpython",
"test-cpython",
]
check-micropython = [
"test-micropython",
]
format = [
{ cmd = "ruff format ." },
# Configure Ruff not to auto-fix (remove!):
# unused imports (F401), unused variables (F841), `print` statements (T201), and commented-out code (ERA001).
{ cmd = "ruff check --fix --ignore=ERA --ignore=F401 --ignore=F841 --ignore=T20 --ignore=ERA001 ." },
{ cmd = "pyproject-fmt --keep-full-version pyproject.toml" },
]
lint-cpython = [
{ cmd = "ruff format --check ." },
{ cmd = "ruff check ." },
{ cmd = "validate-pyproject pyproject.toml" },
]
[tool.poe.tasks."test-cpython"]
cmd = "pytest"
help = "Invoke software tests on CPython"
[tool.poe.tasks."test-cpython".args.expression]
options = [ "-k" ]
[tool.poe.tasks."test-cpython".args.marker]
options = [ "-m" ]
[tool.poe.tasks."test-micropython"]
sequence = [
{ shell = 'MICROPYPATH="${HOME}/.micropython/lib:$(pwd)" micropython tests/test_micropython.py' },
]