bind9/pyproject.toml
Štěpán Balážik ced002c4ab Replace deprecated typing imports
More specific modules (like collections.abc) can now be used.

Generated with: ruff check --extend-select UP035 --fix
2026-02-20 15:17:32 +01:00

125 lines
2.9 KiB
TOML

# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# SPDX-License-Identifier: MPL-2.0
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
[tool.pylint.basic]
good-names-rgxs = [
# Allow names from KASP tests
"I(pub|ret)C?",
"T(act|pub|ret|rem|sbm)N1?",
]
[tool.pylint.imports]
deprecated-modules = [
"dns.resolver",
]
[tool.pylint.messages_control]
disable = [
"C0114", # missing-module-docstring
"C0115", # missing-class-docstring
"C0116", # missing-function-docstring
"C0301", # line-too-long, handled better by black
"C0302", # too-many-lines
"R0801", # duplicate-code
"R0902", # too-many-instance-attributes
"R0903", # too-few-public-methods
"R0912", # too-many-branches
"R0913", # too-many-arguments
"R0914", # too-many-locals
"R0915", # too-many-statements
"R0917", # too-many-positional-arguments
]
[tool.pylint.main]
ignore-paths = [
".git",
# Temporary directories created by the system test runner
# (see bin/tests/system/conftest.py:system_test_dir)
"bin/tests/system/.*_tmp_.*/",
"bin/tests/system/vulture_ignore_list.py",
"contrib",
"dangerfile.py",
"doc/arm/conf.py",
"doc/man/conf.py",
]
# Both `init-hook` and `source-roots` are needed to avoid import errors,
# enable plugin loading and calling pylint from CI as `pylint $(git ls-files '*.py')`
init-hook = "import sys; sys.path.extend(('bin/tests/system', 'doc/misc', 'doc/arm/_ext'));"
source-roots = [
"bin/tests/system",
"doc/misc",
"doc/arm/_ext",
]
load-plugins = [
"re_compile_checker",
"dns_import_checker",
]
[tool.vulture]
paths = [
".",
]
exclude = [
"*ans.py",
"contrib",
"*doc/arm/_ext/*conf.py",
"doc/arm/conf.py",
"doc/man/conf.py",
"isctest",
"re_compile_checker.py",
"dns_import_checker.py",
]
ignore_decorators = [
"@pytest.fixture",
]
ignore_names = [
"pytest*",
# attributes of `isctest.kasp.KeyProperties` set but later not read in:
# - bin/tests/system/kasp/tests_kasp.py
# - bin/tests/system/multisigner/tests_multisigner.py
# - bin/tests/system/nsec3/common.py
# - bin/tests/system/rollover-multisigner/tests_rollover_multisigner.py
"private",
"legacy",
]
[tool.ruff]
target-version = "py310"
lint.select = [
# import order
"I",
# unused imports
"F401",
# sorted __all__
"RUF022",
# unnecessary `typing` imports
"UP006",
"UP007",
"UP035",
"UP045",
# f-strings
"UP031",
"UP032",
]
extend-exclude = [
"bin/tests/system/vulture_ignore_list.py",
"contrib",
"dangerfile.py",
"doc/arm/conf.py",
"doc/man/conf.py",
]
src = [
"bin/tests/system",
"doc/misc",
"doc/arm/_ext",
]
[tool.ruff.lint.isort]
from-first = true
lines-between-types = 1
split-on-trailing-comma = false