35 lines
1.8 KiB
INI
35 lines
1.8 KiB
INI
# flake8 configuration for this repository.
|
|
#
|
|
# Three settings, each with the measurement behind it rather than a preference.
|
|
#
|
|
# max-line-length = 160
|
|
# 120 was tried first and two lines still exceeded it: the secret-scanner rule table in
|
|
# scan_leaks.py holds raw regex source of 148 and 156 characters. Splitting a regex inside a raw
|
|
# string either changes the pattern or forces concatenation that is harder to read than the long
|
|
# line, so the limit is set from what a real string in this repository needs (156) with a little
|
|
# room, and a line over 160 is a genuine defect rather than a style disagreement.
|
|
#
|
|
# max-complexity is not set, and C901 is excluded below with the measurement: this repository's
|
|
# parsers and dispatchers reach 21-41 (check_commands.command_findings is 41, a flat if/elif chain
|
|
# over finding kinds). Setting a threshold above the maximum would be a number chosen to pass rather
|
|
# than a standard; splitting them into one function per case would move the shape of the format away
|
|
# from the code that reads it, and looking like the specification is this repository's argument.
|
|
# The numbers are recorded here so a future pass can decide to refactor with them in hand.
|
|
#
|
|
# extend-ignore:
|
|
# C901 see above -- reported here as a measurement, not enforced
|
|
# E203 slice whitespace (`data[start : end]`); flake8 and every autoformatter disagree, and the
|
|
# repository has no autoformatter
|
|
#
|
|
# Run from the repository root:
|
|
# flake8 *.py skills/apk-reverse/scripts/*.py
|
|
#
|
|
# Enforced in CI: the `lint` job in .github/workflows/ci.yml runs this exact command alongside mypy,
|
|
# on a bare interpreter, so the configuration is exercised in the poorest environment it must keep
|
|
# working in.
|
|
|
|
[flake8]
|
|
max-line-length = 160
|
|
extend-ignore = C901,E203
|
|
exclude = .git,__pycache__,tools,build,dist
|