[libgpiod][PATCH 9/9] bindings: python: update linter configuration

Vincent Fazio
2026-04-01T00:18:12Z

Simplify linter configuration to check all files in the bindings
directory while excluding files in .gitignore.

With a minimum mypy version of 1.18.1, the `strict_equality` knob can
be removed as it was a work around a known issue [0] that is now fixed.

With a minimum ruff version of 15.x, rename the TCH check to TC since
it was renamed in v0.8.0 [1].

[0]: https://github.com/python/mypy/issues/10910
[1]: https://github.com/astral-sh/ruff/releases/tag/0.8.0
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
---
bindings/python/pyproject.toml | 19 +++----------------
1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/bindings/python/pyproject.toml b/bindings/python/pyproject.toml
index 3255e89..98bb44c 100644
--- a/bindings/python/pyproject.toml
+++ b/bindings/python/pyproject.toml
@@ -49,26 +49,13 @@ namespaces = false

[tool.mypy]
python_version = "3.10"
+exclude_gitignore = true
files = [
- "gpiod/",
- "tests/",
-]
-
-[[tool.mypy.overrides]]
-module = "gpiod.line.*"
-strict_equality = false # Ignore Enum comparison-overlap: https://github.com/python/mypy/issues/17317
-
-[tool.ruff]
-target-version = "py310"
-include = [
- "gpiod/**/*.py",
- "gpiod/**/*.pyi",
- "tests/**/*.py",
- "tests/**/*.pyi",
+ ".",
]

[tool.ruff.lint]
-select = ["B", "E", "F", "I", "TCH", "UP"]
+select = ["B", "E", "F", "I", "TC", "UP"]
ignore=[
# Ignore chained exception warnings for now: https://docs.astral.sh/ruff/rules/raise-without-from-inside-except/
"B904",
--
2.43.0