@ -1,6 +1,3 @@
[ tool . black ]
line-length = 100
[ tool . ruff ]
line-length = 100
@ -135,155 +132,6 @@ data_file = ".cov/coverage"
[ tool . coverage . report ]
omit = [ "ida_script.py" , "tests/*" ]
[ tool . pylint . main ]
# Analyse import fallback blocks. This can be used to support both Python 2 and 3
# compatible code, which means that the block might have code that exists only in
# one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks = true
disable = [
"design" , # TODO: disable explicit checks
# basic
"invalid-name" ,
"missing-class-docstring" ,
"missing-function-docstring" ,
"missing-module-docstring" ,
"pointless-string-statement" , # TODO: Fix these
"dangerous-default-value" , # TODO: Fix these
# classes
"arguments-renamed" ,
"protected-access" , # TODO: Fix these
"abstract-method" , # TODO: Fix these
"attribute-defined-outside-init" , # TODO: Fix these
# exceptions
"broad-except" ,
"raise-missing-from" ,
# format
"line-too-long" ,
# imports
"import-outside-toplevel" ,
"wrong-import-position" ,
"wildcard-import" , # TODO: Fix these
# lambda-expressions
"unnecessary-lambda-assignment" ,
# miscellaneous
"fixme" ,
# refactoring
"consider-using-f-string" , # TODO: Fix these
"consider-using-with" , # TODO: Fix these
"no-else-return" , # TODO: Fix these
"no-else-raise" , # TODO: Fix these
"no-else-continue" , # TODO: Fix these
"no-else-break" , # TODO: Fix these
"inconsistent-return-statements" , # TODO: Fix these
"redefined-argument-from-local" ,
# stdlib
"unspecified-encoding" ,
# typecheck
"no-member" ,
"keyword-arg-before-vararg" ,
"assignment-from-none" , # TODO: Fix these
# variables
"possibly-unused-variable" ,
"redefined-outer-name" ,
"global-statement" ,
"unused-wildcard-import" ,
"unused-argument" , # TODO: Fix these
"unused-variable" , # TODO: Fix these
"undefined-loop-variable" , # TODO: Fix these
"undefined-variable" , # TODO: Fix these
"redefined-builtin" , # TODO: Fix these
]
# Files or directories to be skipped. They should be base names, not paths.
ignore = [ "tests" , ".git" ]
# List of module names for which member attributes should not be checked (useful
# for modules/projects where namespaces are manipulated during runtime and thus
# existing member attributes cannot be deduced by static analysis). It supports
# qualified module names, as well as Unix pattern matching.
ignored-modules = [ "gdb" , "pt" ]
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs = 0
# Control the amount of potential inferred values when inferring a single object.
# This can help the performance when dealing with large functions or complex,
# nested conditions.
limit-inference-results = 100
# Pickle collected data for later comparisons.
persistent = true
# Minimum Python version to use for version dependent checks. Will default to the
# version used to run pylint.
py-version = "3.7"
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode = true
[ tool . pylint . design ]
# Maximum number of arguments for function / method.
max-args = 5
# Maximum number of attributes for a class (see R0902).
max-attributes = 7
# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr = 5
# Maximum number of branch for function / method body.
max-branches = 12
# Maximum number of locals for function / method body.
max-locals = 15
# Maximum number of parents for a class (see R0901).
max-parents = 7
# Maximum number of public methods for a class (see R0904).
max-public-methods = 20
# Maximum number of return / yield for function / method body.
max-returns = 6
# Maximum number of statements in function / method body.
max-statements = 50
# Minimum number of public methods for a class (see R0903).
min-public-methods = 2
[ tool . pylint . format ]
# Maximum number of lines in a module.
max-module-lines = 2500 # TODO: Reduce to 1000
[ tool . pylint . "messages control" ]
# Only show warnings with the listed confidence levels. Leave empty to show all.
# Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
confidence = [ "HIGH" , "CONTROL_FLOW" , "INFERENCE" , "INFERENCE_FAILURE" , "UNDEFINED" ]
[ tool . pylint . refactoring ]
# Maximum number of nested blocks for function / method body
max-nested-blocks = 6
[ tool . pylint . reports ]
output-format = "colorized"
[ tool . poetry ]
name = "pwndbg"
description = "Exploit Development and Reverse Engineering with GDB Made Easy"