Files
esp-idf/.flake8
2026-04-17 16:01:00 +02:00

284 lines
7.9 KiB
INI

[flake8]
select =
# Full lists are given in order to suppress all errors from other plugins
# Full list of pyflakes error codes:
# module imported but unused
F401,
# import module from line N shadowed by loop variable
F402,
# 'from module import *' used; unable to detect undefined names
F403,
# future import(s) name after other statements
F404,
# name may be undefined, or defined from star imports: module
F405,
# 'from module import *' only allowed at module level
F406,
# an undefined __future__ feature name was imported
F407,
# dictionary key name repeated with different values
F601,
# dictionary key variable name repeated with different values
F602,
# too many expressions in an assignment with star-unpacking
F621,
# two or more starred expressions in an assignment (a, *b, *c = d)
F622,
# assertion test is a tuple, which are always True
F631,
# a break statement outside of a while or for loop
F701,
# a continue statement outside of a while or for loop
F702,
# a continue statement in a finally block in a loop
F703,
# a yield or yield from statement outside of a function
F704,
# a return statement with arguments inside a generator
F705,
# a return statement outside of a function/method
F706,
# an except: block as not the last exception handler
F707,
# doctest syntax error syntax error in forward type annotation
F721, F722,
# redefinition of unused name from line N
F811,
# list comprehension redefines name from line N
F812,
# undefined name name
F821,
# undefined name name in __all__
F822,
# local variable name referenced before assignment
F823,
# duplicate argument name in function definition
F831,
# local variable name is assigned to but never used
F841,
# raise NotImplemented should be raise NotImplementedError
F901,
# Full list of pycodestyle violations:
# indentation contains mixed spaces and tabs
E101,
# indentation is not a multiple of four
E111,
# expected an indented block
E112,
# unexpected indentation
E113,
# indentation is not a multiple of four (comment)
E114,
# expected an indented block (comment)
E115,
# unexpected indentation (comment)
E116,
# continuation line under-indented for hanging indent
E121,
# continuation line missing indentation or outdented
E122,
# closing bracket does not match indentation of opening bracket's line
E123,
# closing bracket does not match visual indentation
E124,
# continuation line with same indent as next logical line
E125,
# continuation line over-indented for hanging indent
E126,
# continuation line over-indented for visual indent
E127,
# continuation line under-indented for visual indent
E128,
# visually indented line with same indent as next logical line
E129,
# continuation line unaligned for hanging indent
E131,
# closing bracket is missing indentation
E133,
# whitespace after '('
E201,
# whitespace before ')'
E202,
# whitespace before ':'
E203,
# whitespace before '('
E211,
# multiple spaces before operator
E221,
# multiple spaces after operator
E222,
# tab before operator
E223,
# tab after operator
E224,
# missing whitespace around operator
E225,
# missing whitespace around arithmetic operator
E226,
# missing whitespace around bitwise or shift operator
E227,
# missing whitespace around modulo operator
E228,
# missing whitespace after ',', ';', or ':'
E231,
# multiple spaces after ','
E241,
# tab after ','
E242,
# unexpected spaces around keyword / parameter equals
E251,
# at least two spaces before inline comment
E261,
# inline comment should start with '# '
E262,
# block comment should start with '# '
E265,
# too many leading '#' for block comment
E266,
# multiple spaces after keyword
E271,
# multiple spaces before keyword
E272,
# tab after keyword
E273,
# tab before keyword
E274,
# missing whitespace after keyword
E275,
# expected 1 blank line, found 0
E301,
# expected 2 blank lines, found 0
E302,
# too many blank lines
E303,
# blank lines found after function decorator
E304,
# expected 2 blank lines after end of function or class
E305,
# expected 1 blank line before a nested definition
E306,
# multiple imports on one line
E401,
# module level import not at top of file
E402,
# line too long (82 > 79 characters)
E501,
# the backslash is redundant between brackets
E502,
# multiple statements on one line (colon)
E701,
# multiple statements on one line (semicolon)
E702,
# statement ends with a semicolon
E703,
# multiple statements on one line (def)
E704,
# comparison to None should be 'if cond is None:'
E711,
# comparison to True should be 'if cond is True:' or 'if cond:'
E712,
# test for membership should be 'not in'
E713,
# test for object identity should be 'is not'
E714,
# do not compare types, use 'isinstance()'
E721,
# do not use bare except, specify exception instead
E722,
# do not assign a lambda expression, use a def
E731,
# do not use variables named 'l', 'O', or 'I'
E741,
# do not define classes named 'l', 'O', or 'I'
E742,
# do not define functions named 'l', 'O', or 'I'
E743,
# SyntaxError or IndentationError
E901,
# IOError
E902,
# indentation contains tabs
W191,
# trailing whitespace
W291,
# no newline at end of file
W292,
# blank line contains whitespace
W293,
# blank line at end of file
W391,
# line break before binary operator
W503,
# line break after binary operator
W504,
# doc line too long (82 > 79 characters)
W505,
# .has_key() is deprecated, use 'in'
W601,
# deprecated form of raising exception
W602,
# '<>' is deprecated, use '!='
W603,
# backticks are deprecated, use 'repr()'
W604,
# invalid escape sequence 'x'
W605,
# 'async' and 'await' are reserved keywords starting with Python 3.7
W606,
# Full list of flake8 violations
# failed to compile a file into an Abstract Syntax Tree for the plugins that require it
E999,
# Full list of mccabe violations
# complexity value provided by the user
C901
ignore =
# multiple spaces before operator
E221,
# missing whitespace after ',', ';', or ':'
E231,
# multiple spaces after ','
E241,
# line break before binary operator
W503,
# line break after binary operator
W504
max-line-length = 160
show_source = True
statistics = True
exclude =
.git,
__pycache__,
# submodules
components/bootloader/subproject/components/micro-ecc/micro-ecc,
components/bt/host/nimble/nimble,
components/cmock/CMock,
components/json/cJSON,
components/mbedtls/mbedtls,
components/openthread/openthread,
components/unity/unity,
components/spiffs/spiffs,
# autogenerated scripts
components/protocomm/python/constants_pb2.py,
components/protocomm/python/sec0_pb2.py,
components/protocomm/python/sec1_pb2.py,
components/protocomm/python/sec2_pb2.py,
components/protocomm/python/session_pb2.py,
components/wifi_provisioning/python/wifi_ctrl_pb2.py,
components/wifi_provisioning/python/wifi_scan_pb2.py,
components/wifi_provisioning/python/wifi_config_pb2.py,
components/wifi_provisioning/python/wifi_constants_pb2.py,
components/esp_local_ctrl/python/esp_local_ctrl_pb2.py,
per-file-ignores =
# Sphinx conf.py files use star imports to setup config variables
docs/conf_common.py: F405