mirror of
https://github.com/Chia-Network/chia-blockchain.git
synced 2026-08-24 10:05:29 -05:00
50fc9105f7
* build(deps): bump ruff from 0.15.13 to 0.15.16 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.15.13 to 0.15.16. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/ruff/compare/0.15.13...0.15.16) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.15.16 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Add PLW0717 too-many-statements-in-try-clause to the ruff ignore list; add fixes for RUF075 and ASYNC119 * targeted ignores for RUF075 * more targeted ignores for RUF075 * some code cleanup --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Earle Lowe <e.lowe@chia.net>
134 lines
4.7 KiB
TOML
134 lines
4.7 KiB
TOML
line-length = 120
|
|
|
|
[lint]
|
|
preview = true
|
|
select = ["ALL"]
|
|
explicit-preview-rules = false
|
|
ignore = [
|
|
# Pylint convention
|
|
"PLC0415", # import-outside-top-level
|
|
"PLC1901", # compare-to-empty-string
|
|
# Should probably fix these
|
|
"PLC2801", # unnecessary-dunder-call
|
|
"PLC2701", # import-private-name
|
|
|
|
# Pylint refactor
|
|
"PLR0915", # too-many-statements
|
|
"PLR0914", # too-many-locals
|
|
"PLR0913", # too-many-arguments
|
|
"PLR0912", # too-many-branches
|
|
"PLR1702", # too-many-nested-blocks
|
|
"PLR0904", # too-many-public-methods
|
|
"PLR0917", # too-many-positional-arguments
|
|
"PLR0916", # too-many-boolean-expressions
|
|
"PLR0911", # too-many-return-statements
|
|
"PLW0717", # too-many-statements-in-try-clause
|
|
# Should probably fix these
|
|
"PLR6301", # no-self-use
|
|
"PLR2004", # magic-value-comparison
|
|
|
|
# Pylint warning
|
|
"PLW1641", # eq-without-hash
|
|
# Should probably fix these
|
|
"PLW1514", # unspecified-encoding
|
|
"PLW0603", # global-statement
|
|
|
|
# Flake8 async
|
|
# Should probably fix these
|
|
"ASYNC230", # blocking-open-call-in-async-function
|
|
"ASYNC240", # pathlib for async operations
|
|
"ASYNC250", # blocking-input-call-in-async-function
|
|
# Should probably fix these after dealing with shielding for anyio
|
|
"ASYNC109", # async-function-with-timeout
|
|
|
|
# flake8-implicit-str-concat
|
|
"ISC003", # explicit-string-concatenation
|
|
|
|
# Ruff Specific
|
|
|
|
# This code is problematic because using instantiated types as defaults is so common across the codebase.
|
|
# Its purpose is to prevent accidenatally assigning mutable defaults. However, this is a bit overkill for that.
|
|
# That being said, it would be nice to add some way to actually guard against that specific mutable default behavior.
|
|
"RUF009", # function-call-in-dataclass-default-argument
|
|
"RUF056", # falsy-dict-get-fallback
|
|
# Should probably fix this
|
|
"RUF029", # unused-async
|
|
|
|
# Security linter
|
|
"S603", # subprocess-without-shell-equals-true
|
|
# Should probably fix this
|
|
"S104", # hardcoded-bind-all-interfaces
|
|
"S110", # try-except-pass
|
|
"S112", # try-except-continue
|
|
"S311", # suspicious-non-cryptographic-random-usage
|
|
"S608", # hardcoded-sql-expression
|
|
# Need review on which of these we can/should fix
|
|
"S101", # assert
|
|
"S404", # suspicious-subprocess-import
|
|
"S607", # start-process-with-partial-path
|
|
|
|
# Should fix
|
|
"FBT", # boolean positional usage: ~2100 errors
|
|
"ANN", # function annotations: ~1100 errors # Gets fixed with mypy-exclusion removal
|
|
"G", # logging format: ~1000 errors
|
|
"RET", # return linting: ~700 errors
|
|
"B", # potential bugs linting: ~600 errors
|
|
"PT", # pytest styling: ~600 errors
|
|
"SIM", # code simplifications: ~500 errors
|
|
"A", # bad behavior relative to builtins: ~200 errors
|
|
"PTH", # pathlib linting: ~200 errors
|
|
"PGH", # cheap code quality improvements: ~100 errors
|
|
"LOG", # logging: <50 errors
|
|
# Might be nice, might be annoying
|
|
"BLE001", # blind exceptions: ~300 errors
|
|
"D", # docstrings: ~9000 errors,
|
|
"TRY", # proper exception behavior: ~1300 errors
|
|
"EM", # exception messages: ~1000 errors
|
|
"C", # comprehensions: ~600 errors
|
|
"SLF", # private member access: ~600 errors
|
|
"FURB", # "refurbishing" and "modernizing": ~200 errors
|
|
"PERF", # anti-pattern linting: ~200 errors
|
|
"N", # pep8 naming: ~200 errors
|
|
# Probably fine for our purposes
|
|
"COM812", # trailing commas: ~5000 errors
|
|
"CPY001", # copyright notices: ~900 errors
|
|
"TC", # type checking linting: ~1700 errors # Too much reliance on runtime types to enable this
|
|
"T20", # using print: ~1300 errors # might want to enable this but not for CLI or tools/
|
|
"TD", # formatting of TODOs: ~800 errors
|
|
"DOC", # also docstrings: ~700 errors
|
|
"ARG", # unused arguments: ~500 errors
|
|
"ERA", # commented out code: ~400 errors
|
|
"DTZ", # datetimez: <50 errors # likely needs the tzlocal library as a dependency
|
|
"FIX", # TODOs, etc: ~400 errors
|
|
]
|
|
|
|
[lint.per-file-ignores]
|
|
"chia/_tests/*" = ["S106"]
|
|
"chia/__init__.py" = ["RUF067"]
|
|
|
|
[lint.flake8-implicit-str-concat]
|
|
# Found 3279 errors.
|
|
# allow-multiline = false
|
|
|
|
[lint.flake8-tidy-imports]
|
|
ban-relative-imports = "all"
|
|
|
|
[lint.flake8-tidy-imports.banned-api]
|
|
"asyncio.create_task".msg = "Use `from chia.util.task_referencer import create_referenced_task` and `create_referenced_task()`"
|
|
|
|
[lint.isort]
|
|
required-imports = ["from __future__ import annotations"]
|
|
|
|
[lint.pylint]
|
|
max-args = 5
|
|
max-locals = 15
|
|
max-returns = 6
|
|
max-branches = 12
|
|
max-statements = 50
|
|
max-nested-blocks = 5
|
|
max-public-methods = 20
|
|
max-bool-expr = 5
|
|
|
|
[lint.pyupgrade]
|
|
keep-runtime-typing = true
|