summaryrefslogtreecommitdiff
path: root/pyproject.toml
blob: 8c14c2bffa81df84a83943903927d13ae1cd8d90 (plain)
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
[tool.codespell]
count = ""
ignore-regex = '\b[A-Z]{3}\b'
ignore-words-list = "ans,asend,deques,dout,emac,extint,hsi,iput,mis,notin,numer,ser,shft,synopsys,technic,ure,curren"
quiet-level = 3
skip = """
*/build*,\
./.git,\
./drivers/cc3100,\
./lib,\
./ports/cc3200/FreeRTOS,\
./ports/cc3200/bootmgr/sl,\
./ports/cc3200/hal,\
./ports/cc3200/simplelink,\
./ports/cc3200/telnet,\
./ports/esp32/managed_components,\
./ports/nrf/drivers/bluetooth/s1*,\
./ports/stm32/usbhost,\
./tests,\
ACKNOWLEDGEMENTS,\
"""

[tool.ruff]
# Exclude third-party code from linting and formatting
extend-exclude = ["lib"]
line-length = 99
target-version = "py37"

[tool.ruff.lint]
exclude = [  # Ruff finds Python SyntaxError in these files
  "tests/cmdline/repl_autocomplete.py",
  "tests/cmdline/repl_autocomplete_underscore.py",
  "tests/cmdline/repl_autoindent.py",
  "tests/cmdline/repl_basic.py",
  "tests/cmdline/repl_cont.py",
  "tests/cmdline/repl_emacs_keys.py",
  "tests/cmdline/repl_paste.py",
  "tests/cmdline/repl_words_move.py",
  "tests/feature_check/repl_emacs_check.py",
  "tests/feature_check/repl_words_move_check.py",
  "tests/micropython/viper_args.py",
]
extend-select = ["C9", "PLC"]
ignore = [
  "E401",
  "E402",
  "E722",
  "E731",
  "E741",
  "F401",
  "F403",
  "F405",
  "PLC0206",
]
mccabe.max-complexity = 40

[tool.ruff.lint.per-file-ignores]
# Exclude all tests from linting.
"tests/**/*.py" = ["ALL"]
"ports/cc3200/tools/uniflash.py" = ["E711"]
# manifest.py files are evaluated with some global names pre-defined
"**/manifest.py" = ["F821"]
"ports/**/boards/**/manifest_*.py" = ["F821"]

[tool.ruff.format]
# Exclude third-party code, and exclude the following tests:
#   basics: needs careful attention before applying automatic formatting
#   repl_: not real python files
#   viper_args: uses f(*)
exclude = ["tests/basics/*.py", "tests/*/repl_*.py", "tests/micropython/viper_args.py"]