Files
reverse-skills-max/vendor-new/apk-reverse/.flake8

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