[flake8]
max-line-length = 120

extend-ignore =
    # E203: whitespace before ':'  (black does this)
    E203,
    # F401: `foo` imported but unused  (prefer ruff)
    F401,
    # F811 Redefinition of unused `foo`  (prefer ruff)
    F811,
    # E501 line too long  (prefer black)
    E501,
    # B010 Do not call setattr with a constant attribute value
    B010,
    # G200 Logging statement uses exception in arguments
    G200,
    # SIM102 Use a single if-statement instead of nested if-statements
    # doesn't provide a space for commenting or logical separation of conditions
    SIM102,
    # SIM114 Use logical or and a single body
    # makes logic trees too complex
    SIM114,
    # SIM117 Use 'with Foo, Bar:' instead of multiple with statements
    # makes lines too long
    SIM117

per-file-ignores =
    # T201 print found.
    #
    # scripts are meant to print output
    scripts/*: T201
    # capa.exe is meant to print output
    capa/main.py: T201
    # IDA tests emit results to output window so need to print
    tests/test_ida_features.py: T201
    # utility used to find the Binary Ninja API via invoking python.exe
    capa/features/extractors/binja/find_binja_api.py: T201

copyright-check = True
copyright-min-file-size = 1 
copyright-regexp = Copyright \(C\) 2023 Mandiant, Inc. All Rights Reserved.