From bd61633e1496da4a00b344c3c59409b28bb5cd5a Mon Sep 17 00:00:00 2001 From: vladmandic Date: Tue, 10 Feb 2026 13:51:51 +0100 Subject: [PATCH] switch to pyproject.toml for tool config Signed-off-by: vladmandic --- .pylintrc | 284 ----------------------------- .ruff.toml | 109 ----------- CHANGELOG.md | 3 +- cli/test-weighted-lists.py | 25 +-- pyproject.toml | 362 +++++++++++++++++++++++++++++++++++++ 5 files changed, 377 insertions(+), 406 deletions(-) delete mode 100644 .pylintrc delete mode 100644 .ruff.toml create mode 100644 pyproject.toml diff --git a/.pylintrc b/.pylintrc deleted file mode 100644 index e4b0a6b4b..000000000 --- a/.pylintrc +++ /dev/null @@ -1,284 +0,0 @@ -[MAIN] -analyse-fallback-blocks=no -clear-cache-post-run=no -extension-pkg-allow-list= -prefer-stubs=yes -extension-pkg-whitelist= -fail-on= -fail-under=10 -ignore=CVS -ignore-paths=/usr/lib/.*$, - venv, - .git, - .ruff_cache, - .vscode, - modules/apg, - modules/cfgzero, - modules/control/proc, - modules/control/units, - modules/dml, - modules/facelib, - modules/flash_attn_triton_amd, - modules/ggml, - modules/hidiffusion, - modules/hijack/ddpm_edit.py, - modules/intel, - modules/intel/ipex, - modules/framepack/pipeline, - modules/onnx_impl, - modules/pag, - modules/postprocess/aurasr_arch.py, - modules/prompt_parser_xhinker.py, - modules/ras, - modules/seedvr, - modules/rife, - modules/schedulers, - modules/taesd, - modules/teacache, - modules/todo, - modules/res4lyf, - pipelines/bria, - pipelines/flex2, - pipelines/f_lite, - pipelines/hidream, - pipelines/hdm, - pipelines/meissonic, - pipelines/omnigen2, - pipelines/segmoe, - pipelines/xomni, - pipelines/chrono, - scripts/consistory, - scripts/ctrlx, - scripts/daam, - scripts/demofusion, - scripts/freescale, - scripts/infiniteyou, - scripts/instantir, - scripts/lbm, - scripts/layerdiffuse, - scripts/mod, - scripts/pixelsmith, - scripts/differential_diffusion.py, - scripts/pulid, - scripts/xadapter, - repositories, - extensions-builtin/sd-extension-chainner/nodes, - extensions-builtin/sd-webui-agent-scheduler, - extensions-builtin/sdnext-modernui/node_modules, - extensions-builtin/sdnext-kanvas/node_modules, -ignore-patterns=.*test*.py$, - .*_model.py$, - .*_arch.py$, - .*_model_arch.py*, - .*_model_arch_v2.py$, -ignored-modules= -jobs=8 -limit-inference-results=100 -load-plugins= -persistent=no -py-version=3.10 -recursive=no -source-roots= -unsafe-load-any-extension=no - -[BASIC] -argument-naming-style=snake_case -attr-naming-style=snake_case -bad-names=foo, bar, baz, toto, tutu, tata -bad-names-rgxs= -class-attribute-naming-style=any -class-const-naming-style=UPPER_CASE -class-naming-style=PascalCase -const-naming-style=snake_case -docstring-min-length=-1 -function-naming-style=snake_case -good-names=i,j,k,e,ex,ok,p,x,y,id -good-names-rgxs= -include-naming-hint=no -inlinevar-naming-style=any -method-naming-style=snake_case -module-naming-style=snake_case -name-group= -no-docstring-rgx=^_ -property-classes=abc.abstractproperty -variable-naming-style=snake_case - -[CLASSES] -check-protected-access-in-special-methods=no -defining-attr-methods=__init__, __new__, -exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit -valid-classmethod-first-arg=cls -valid-metaclass-classmethod-first-arg=mcs - -[DESIGN] -exclude-too-few-public-methods= -ignored-parents= -max-args=199 -max-attributes=99 -max-bool-expr=99 -max-branches=199 -max-locals=99 -max-parents=99 -max-public-methods=99 -max-returns=99 -max-statements=199 -min-public-methods=1 - -[EXCEPTIONS] -overgeneral-exceptions=builtins.BaseException,builtins.Exception - -[FORMAT] -expected-line-ending-format= -ignore-long-lines=^\s*(# )??$ -indent-after-paren=4 -indent-string=' ' -max-line-length=200 -max-module-lines=9999 -single-line-class-stmt=no -single-line-if-stmt=no - -[IMPORTS] -allow-any-import-level= -allow-reexport-from-package=no -allow-wildcard-with-all=no -deprecated-modules= -ext-import-graph= -import-graph= -int-import-graph= -known-standard-library= -known-third-party=enchant -preferred-modules= - -[LOGGING] -logging-format-style=new -logging-modules=logging - -[MESSAGES CONTROL] -confidence=HIGH, - CONTROL_FLOW, - INFERENCE, - INFERENCE_FAILURE, - UNDEFINED -# disable=C,R,W -disable=abstract-method, - bad-inline-option, - bare-except, - broad-exception-caught, - chained-comparison, - consider-iterating-dictionary, - consider-merging-isinstance, - consider-using-dict-items, - consider-using-enumerate, - consider-using-from-import, - consider-using-generator, - consider-using-get, - consider-using-in, - consider-using-max-builtin, - consider-using-min-builtin, - consider-using-sys-exit, - cyclic-import, - dangerous-default-value, - deprecated-pragma, - duplicate-code, - file-ignored, - import-error, - import-outside-toplevel, - invalid-name, - line-too-long, - locally-disabled, - logging-fstring-interpolation, - missing-class-docstring, - missing-function-docstring, - missing-module-docstring, - no-else-raise, - no-else-return, - not-callable, - pointless-string-statement, - raw-checker-failed, - simplifiable-if-expression, - suppressed-message, - too-few-public-methods, - too-many-instance-attributes, - too-many-locals, - too-many-nested-blocks, - too-many-positional-arguments, - too-many-statements, - unidiomatic-typecheck, - unknown-option-value, - unnecessary-dict-index-lookup, - unnecessary-dunder-call, - unnecessary-lambda-assigment, - unnecessary-lambda, - unused-wildcard-import, - unpacking-non-sequence, - unsubscriptable-object, - useless-return, - use-dict-literal, - use-symbolic-message-instead, - useless-suppression, - wrong-import-position, -enable=c-extension-no-member - -[METHOD_ARGS] -timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request - -[MISCELLANEOUS] -notes=FIXME, - XXX, - TODO -notes-rgx= - -[REFACTORING] -max-nested-blocks=5 -never-returning-functions=sys.exit,argparse.parse_error - -[REPORTS] -evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)) -msg-template= -reports=no -score=no - -[SIMILARITIES] -ignore-comments=yes -ignore-docstrings=yes -ignore-imports=yes -ignore-signatures=yes -min-similarity-lines=4 - -[SPELLING] -max-spelling-suggestions=4 -spelling-dict= -spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy: -spelling-ignore-words= -spelling-private-dict-file= -spelling-store-unknown-words=no - -[STRING] -check-quote-consistency=no -check-str-concat-over-line-jumps=no - -[TYPECHECK] -contextmanager-decorators=contextlib.contextmanager -generated-members=numpy.*,logging.*,torch.*,cv2.* -ignore-none=yes -ignore-on-opaque-inference=yes -ignored-checks-for-mixins=no-member, - not-async-context-manager, - not-context-manager, - attribute-defined-outside-init -ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace -missing-member-hint=yes -missing-member-hint-distance=1 -missing-member-max-choices=1 -mixin-class-rgx=.*[Mm]ixin -signature-mutators= - -[VARIABLES] -additional-builtins= -allow-global-unused-variables=yes -allowed-redefined-builtins= -callbacks=cb_, -dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ -ignored-argument-names=_.*|^ignored_|^unused_ -init-import=no -redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io diff --git a/.ruff.toml b/.ruff.toml deleted file mode 100644 index 443556400..000000000 --- a/.ruff.toml +++ /dev/null @@ -1,109 +0,0 @@ -line-length = 250 -indent-width = 4 -target-version = "py310" -exclude = [ - "venv", - ".git", - ".ruff_cache", - ".vscode", - - "modules/cfgzero", - "modules/facelib", - "modules/flash_attn_triton_amd", - "modules/hidiffusion", - "modules/intel/ipex", - "modules/pag", - "modules/schedulers", - "modules/teacache", - "modules/seedvr", - - "modules/control/proc", - "modules/control/units", - "modules/control/units/xs_pipe.py", - "modules/postprocess/aurasr_arch.py", - - "pipelines/meissonic", - "pipelines/omnigen2", - "pipelines/hdm", - "pipelines/segmoe", - "pipelines/xomni", - "pipelines/chrono", - - "scripts/lbm", - "scripts/daam", - "scripts/xadapter", - "scripts/pulid", - "scripts/instantir", - "scripts/freescale", - "scripts/consistory", - - "repositories", - - "extensions-builtin/Lora", - "extensions-builtin/sd-extension-chainner/nodes", - "extensions-builtin/sd-webui-agent-scheduler", - "extensions-builtin/sdnext-modernui/node_modules", -] - -[lint] -select = [ - "F", - "E", - "W", - "C", - "B", - "I", - "YTT", - "ASYNC", - "RUF", - "AIR", - "NPY", - "C4", - "T10", - "EXE", - "ISC", - "ICN", - "RSE", - "TC", - "TID", - "INT", - "PLE", -] -ignore = [ - "B006", # Do not use mutable data structures for argument defaults - "B008", # Do not perform function call in argument defaults - "B905", # Strict zip() usage - "C420", # Unnecessary dict comprehension for iterable; use `dict.fromkeys` instead - "C408", # Unnecessary `dict` call - "I001", # Import block is un-sorted or un-formatted - "E402", # Module level import not at top of file - "E501", # Line too long - "E721", # Do not compare types, use `isinstance()` - "E731", # Do not assign a `lambda` expression, use a `def` - "E741", # Ambiguous variable name - "F401", # Imported by unused - "EXE001", # file with shebang is not marked executable - "NPY002", # replace legacy random - "RUF005", # Consider iterable unpacking - "RUF008", # Do not use mutable default values for dataclass - "RUF010", # Use explicit conversion flag - "RUF012", # Mutable class attributes - "RUF013", # PEP 484 prohibits implicit `Optional` - "RUF015", # Prefer `next(...)` over single element slice - "RUF046", # Value being cast to `int` is already an integer - "RUF059", # Unpacked variables are not used - "RUF051", # Prefer pop over del -] -fixable = ["ALL"] -unfixable = [] -dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" - -[format] -quote-style = "double" -indent-style = "space" -skip-magic-trailing-comma = false -line-ending = "auto" -docstring-code-format = false - -[lint.mccabe] -max-complexity = 150 diff --git a/CHANGELOG.md b/CHANGELOG.md index d151c3b72..8e2556f28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,7 +16,8 @@ - ui: **themes** add *CTD-NT64Light* and *CTD-NT64Dark*, thanks @resonantsky - ui: **gallery** add option to auto-refresh gallery, thanks @awsr - **Internal** - - refactor: nunchaku models are now listed in networks tab as reference models + - refactor: switch to `pyproject.toml` for tool configs + - refactor: **nunchaku** models are now listed in networks tab as reference models instead of being used implicitly via quantization, thanks @CalamitousFelicitousness - refactor: reorganize `cli` scripts - update `lint` rules, thanks @awsr diff --git a/cli/test-weighted-lists.py b/cli/test-weighted-lists.py index 439f08a15..38ceb0e41 100644 --- a/cli/test-weighted-lists.py +++ b/cli/test-weighted-lists.py @@ -1,6 +1,7 @@ #!/usr/bin/env python -import sys, os +import sys +import os from collections import Counter script_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -20,25 +21,25 @@ tolerance_pct = 5 # tests tests = [ # - empty - ["", { '': 100 } ], + ["", { '': 100 } ], # - no weights - [ "red|blonde|black", { 'black': 33, 'red': 33, 'blonde': 33 } ], + [ "red|blonde|black", { 'black': 33, 'red': 33, 'blonde': 33 } ], # - full weights <= 1 - [ "red:0.1|blonde:0.9", { 'blonde': 90, 'red': 10 } ], + [ "red:0.1|blonde:0.9", { 'blonde': 90, 'red': 10 } ], # - weights > 1 to test normalization - [ "red:1|blonde:2|black:5", { 'blonde': 25, 'red': 12.5, 'black': 62.5 } ], + [ "red:1|blonde:2|black:5", { 'blonde': 25, 'red': 12.5, 'black': 62.5 } ], # - disabling 0 weights to force one result - [ "red:0|blonde|black:0", { 'blonde': 100 } ], + [ "red:0|blonde|black:0", { 'blonde': 100 } ], # - weights <= 1 with distribution of the leftover - [ "red:0.5|blonde|black:0.3|brown", { 'red': 50, 'black': 30, 'brown': 10, 'blonde': 10 } ], + [ "red:0.5|blonde|black:0.3|brown", { 'red': 50, 'black': 30, 'brown': 10, 'blonde': 10 } ], # - weights > 1, unweightes should get default of 1 - [ "red:2|blonde|black", { 'red': 50, 'blonde': 25, 'black': 25 } ], + [ "red:2|blonde|black", { 'red': 50, 'blonde': 25, 'black': 25 } ], # - ignore content of () - [ "red:0.5|(blonde:1.3)", { 'red': 50, '(blonde:1.3)': 50 } ], + [ "red:0.5|(blonde:1.3)", { 'red': 50, '(blonde:1.3)': 50 } ], # - ignore content of [] - [ "red:0.5|[stuff:1.3]", { '[stuff:1.3]': 50, 'red': 50 } ], + [ "red:0.5|[stuff:1.3]", { '[stuff:1.3]': 50, 'red': 50 } ], # - ignore content of <> - [ "red:0.5|", { '': 50, 'red': 50 } ] + [ "red:0.5|", { '': 50, 'red': 50 } ] ] # ------------------------------------------------- @@ -109,4 +110,4 @@ with open(fn, 'r', encoding='utf-8') as f: print("RESULT: FAILED (distribution)") else: print("RESULT: PASSED") - print('') \ No newline at end of file + print('') diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..372c6fad9 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,362 @@ +[project] +name = "SD.Next" +version = "0.0.0" +description = "SD.Next: All-in-one WebUI for AI generative image and video creation and captioning" +readme = "README.md" +requires-python = ">=3.10" + +[tool.ruff] +line-length = 250 +indent-width = 4 +target-version = "py310" +exclude = [ + "venv", + ".git", + ".ruff_cache", + ".vscode", + + "modules/cfgzero", + "modules/facelib", + "modules/flash_attn_triton_amd", + "modules/hidiffusion", + "modules/intel/ipex", + "modules/pag", + "modules/schedulers", + "modules/teacache", + "modules/seedvr", + + "modules/control/proc", + "modules/control/units", + "modules/control/units/xs_pipe.py", + "modules/postprocess/aurasr_arch.py", + + "pipelines/meissonic", + "pipelines/omnigen2", + "pipelines/hdm", + "pipelines/segmoe", + "pipelines/xomni", + "pipelines/chrono", + + "scripts/lbm", + "scripts/daam", + "scripts/xadapter", + "scripts/pulid", + "scripts/instantir", + "scripts/freescale", + "scripts/consistory", + + "repositories", + + "extensions-builtin/Lora", + "extensions-builtin/sd-extension-chainner/nodes", + "extensions-builtin/sd-webui-agent-scheduler", + "extensions-builtin/sdnext-modernui/node_modules", +] + +[tool.ruff.lint] +select = [ + "F", + "E", + "W", + "C", + "B", + "I", + "YTT", + "ASYNC", + "RUF", + "AIR", + "NPY", + "C4", + "T10", + "EXE", + "ISC", + "ICN", + "RSE", + "TC", + "TID", + "INT", + "PLE", +] +ignore = [ + "B006", # Do not use mutable data structures for argument defaults + "B008", # Do not perform function call in argument defaults + "B905", # Strict zip() usage + "C420", # Unnecessary dict comprehension for iterable; use `dict.fromkeys` instead + "C408", # Unnecessary `dict` call + "I001", # Import block is un-sorted or un-formatted + "E402", # Module level import not at top of file + "E501", # Line too long + "E721", # Do not compare types, use `isinstance()` + "E731", # Do not assign a `lambda` expression, use a `def` + "E741", # Ambiguous variable name + "F401", # Imported by unused + "EXE001", # file with shebang is not marked executable + "NPY002", # replace legacy random + "RUF005", # Consider iterable unpacking + "RUF008", # Do not use mutable default values for dataclass + "RUF010", # Use explicit conversion flag + "RUF012", # Mutable class attributes + "RUF013", # PEP 484 prohibits implicit `Optional` + "RUF015", # Prefer `next(...)` over single element slice + "RUF046", # Value being cast to `int` is already an integer + "RUF059", # Unpacked variables are not used + "RUF051", # Prefer pop over del +] +fixable = ["ALL"] +unfixable = [] +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" + +[tool.ruff.format] +quote-style = "double" +indent-style = "space" +skip-magic-trailing-comma = false +line-ending = "auto" +docstring-code-format = false + +[tool.ruff.lint.mccabe] +max-complexity = 150 + +[tool.pylint] +main.py-version="3.10" +main.analyse-fallback-blocks=false +main.clear-cache-post-run=false +main.extension-pkg-allow-list="" +main.prefer-stubs=true +main.extension-pkg-whitelist="" +main.fail-on="" +main.fail-under=10 +main.ignore="CVS" +main.ignore-paths=[ + "venv", + ".git", + ".ruff_cache", + ".vscode", + "modules/apg", + "modules/cfgzero", + "modules/control/proc", + "modules/control/units", + "modules/dml", + "modules/facelib", + "modules/flash_attn_triton_amd", + "modules/ggml", + "modules/hidiffusion", + "modules/hijack/ddpm_edit.py", + "modules/intel", + "modules/intel/ipex", + "modules/framepack/pipeline", + "modules/onnx_impl", + "modules/pag", + "modules/postprocess/aurasr_arch.py", + "modules/prompt_parser_xhinker.py", + "modules/ras", + "modules/seedvr", + "modules/rife", + "modules/schedulers", + "modules/taesd", + "modules/teacache", + "modules/todo", + "modules/res4lyf", + "pipelines/bria", + "pipelines/flex2", + "pipelines/f_lite", + "pipelines/hidream", + "pipelines/hdm", + "pipelines/meissonic", + "pipelines/omnigen2", + "pipelines/segmoe", + "pipelines/xomni", + "pipelines/chrono", + "scripts/consistory", + "scripts/ctrlx", + "scripts/daam", + "scripts/demofusion", + "scripts/freescale", + "scripts/infiniteyou", + "scripts/instantir", + "scripts/lbm", + "scripts/layerdiffuse", + "scripts/mod", + "scripts/pixelsmith", + "scripts/differential_diffusion.py", + "scripts/pulid", + "scripts/xadapter", + "repositories", + "extensions-builtin/sd-extension-chainner/nodes", + "extensions-builtin/sd-webui-agent-scheduler", + "extensions-builtin/sdnext-modernui/node_modules", + "extensions-builtin/sdnext-kanvas/node_modules", + ] +main.ignore-patterns=[ + ".*test*.py$", + ".*_model.py$", + ".*_arch.py$", + ".*_model_arch.py*", + ".*_model_arch_v2.py$", + ] +main.ignored-modules="" +main.jobs=8 +main.limit-inference-results=100 +main.load-plugins="" +main.persistent=false +main.recursive=false +main.source-roots="" +main.unsafe-load-any-extension=false +basic.argument-naming-style="snake_case" +basic.attr-naming-style="snake_case" +basic.bad-names=["foo", "bar", "baz", "toto", "tutu", "tata"] +basic.bad-names-rgxs="" +basic.class-attribute-naming-style="any" +basic.class-const-naming-style="UPPER_CASE" +basic.class-naming-style="PascalCase" +basic.const-naming-style="snake_case" +basic.docstring-min-length=-1 +basic.function-naming-style="snake_case" +basic.good-names=["i","j","k","e","ex","ok","p","x","y","id"] +basic.good-names-rgxs="" +basic.include-naming-hint=false +basic.inlinevar-naming-style="any" +basic.method-naming-style="snake_case" +basic.module-naming-style="snake_case" +basic.name-group="" +basic.no-docstring-rgx="^_" +basic.property-classes="abc.abstractproperty" +basic.variable-naming-style="snake_case" +classes.check-protected-access-in-special-methods=false +classes.defining-attr-methods=["__init__", "__new__"] +classes.exclude-protected=["_asdict","_fields","_replace","_source","_make","os._exit"] +classes.valid-classmethod-first-arg="cls" +classes.valid-metaclass-classmethod-first-arg="mcs" +design.exclude-too-few-public-methods="" +design.ignored-parents="" +design.max-args=199 +design.max-attributes=99 +design.max-bool-expr=99 +design.max-branches=199 +design.max-locals=99 +design.max-parents=99 +design.max-public-methods=99 +design.max-returns=99 +design.max-statements=199 +design.min-public-methods=1 +exceptions.overgeneral-exceptions=["builtins.BaseException","builtins.Exception"] +format.expected-line-ending-format="" +# format.ignore-long-lines="^\s*(# )??$" +format.indent-after-paren=4 +format.indent-string=' ' +format.max-line-length=200 +format.max-module-lines=9999 +format.single-line-class-stmt=false +format.single-line-if-stmt=false +imports.allow-any-import-level="" +imports.allow-reexport-from-package=false +imports.allow-wildcard-with-all=false +imports.deprecated-modules="" +imports.ext-import-graph="" +imports.import-graph="" +imports.int-import-graph="" +imports.known-standard-library="" +imports.known-third-party="enchant" +imports.preferred-modules="" +logging.logging-format-style="new" +logging.logging-modules="logging" +messages_control.confidence=["HIGH","CONTROL_FLOW","INFERENCE","INFERENCE_FAILURE","UNDEFINED"] +messages_control.disable=[ + "abstract-method", + "bad-inline-option", + "bare-except", + "broad-exception-caught", + "chained-comparison", + "consider-iterating-dictionary", + "consider-merging-isinstance", + "consider-using-dict-items", + "consider-using-enumerate", + "consider-using-from-import", + "consider-using-generator", + "consider-using-get", + "consider-using-in", + "consider-using-max-builtin", + "consider-using-min-builtin", + "consider-using-sys-exit", + "cyclic-import", + "dangerous-default-value", + "deprecated-pragma", + "duplicate-code", + "file-ignored", + "import-error", + "import-outside-toplevel", + "invalid-name", + "line-too-long", + "locally-disabled", + "logging-fstring-interpolation", + "missing-class-docstring", + "missing-function-docstring", + "missing-module-docstring", + "no-else-raise", + "no-else-return", + "not-callable", + "pointless-string-statement", + "raw-checker-failed", + "simplifiable-if-expression", + "suppressed-message", + "too-few-public-methods", + "too-many-instance-attributes", + "too-many-locals", + "too-many-nested-blocks", + "too-many-positional-arguments", + "too-many-statements", + "unidiomatic-typecheck", + "unknown-option-value", + "unnecessary-dict-index-lookup", + "unnecessary-dunder-call", + "unnecessary-lambda-assigment", + "unnecessary-lambda", + "unused-wildcard-import", + "unpacking-non-sequence", + "unsubscriptable-object", + "useless-return", + "use-dict-literal", + "use-symbolic-message-instead", + "useless-suppression", + "wrong-import-position", + ] +messages_control.enable="c-extension-no-member" +method_args.timeout-methods=["requests.api.delete","requests.api.get","requests.api.head","requests.api.options","requests.api.patch","requests.api.post","requests.api.put","requests.api.request"] +miscellaneous.notes=["FIXME","XXX","TODO"] +miscellaneous.notes-rgx="" +refactoring.max-nested-blocks=5 +refactoring.never-returning-functions=["sys.exit","argparse.parse_error"] +reports.msg-template="" +reports.reports=false +reports.score=false +similarities.ignore-comments=true +similarities.ignore-docstrings=true +similarities.ignore-imports=true +similarities.ignore-signatures=true +similarities.min-similarity-lines=4 +spelling.max-spelling-suggestions=4 +# spelling.dict="" +# spelling.ignore-comment-directives=["fmt: on","fmt: off","noqa:","noqa","nosec","isort:skip","mypy:"] +# spelling.ignore-words="" +# spelling.private-dict-file="" +# spelling.store-unknown-words=false +string.check-quote-consistency=false +string.check-str-concat-over-line-jumps=false +typecheck.contextmanager-decorators="contextlib.contextmanager" +typecheck.generated-members=["numpy.*","logging.*","torch.*","cv2.*"] +typecheck.ignore-none=true +typecheck.ignore-on-opaque-inference=true +typecheck.ignored-checks-for-mixins=["no-member","not-async-context-manager","not-context-manager","attribute-defined-outside-init"] +typecheck.ignored-classes=["optparse.Values","thread._local","_thread._local","argparse.Namespace","unittest.case._AssertRaisesContext","unittest.case._AssertWarnsContext"] +typecheck.missing-member-hint=true +typecheck.missing-member-hint-distance=1 +typecheck.missing-member-max-choices=1 +typecheck.mixin-class-rgx=".*[Mm]ixin" +typecheck.signature-mutators="" +variables.additional-builtins="" +variables.allow-global-unused-variables=true +variables.allowed-redefined-builtins="" +variables.callbacks=["cb_",] +variables.dummy-variables-rgx="_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_" +variables.ignored-argument-names="_.*|^ignored_|^unused_" +variables.init-import=false +variables.redefining-builtins-modules=["six.moves","past.builtins","future.builtins","builtins","io"]