gifn-apply: use Ruff's isort implementation
Change-Id: I9a8254a643916a7fb2a035bd2cfcac4370316c0c
diff --git a/tools/git-if-needed/python/config/ruff-base/pyproject.toml b/tools/git-if-needed/python/config/ruff-base/pyproject.toml
index a57fa70..b9e1932 100644
--- a/tools/git-if-needed/python/config/ruff-base/pyproject.toml
+++ b/tools/git-if-needed/python/config/ruff-base/pyproject.toml
@@ -17,9 +17,6 @@
# Much too restrictive
"EM",
- # We have slightly different ideas about the `typing` imports
- "I",
-
# Much too restrictive
"TRY003",
]
@@ -27,6 +24,12 @@
[tool.ruff.flake8-copyright]
notice-rgx = "(?x) SPDX-FileCopyrightText: \\s \\S"
+[tool.ruff.isort]
+force-single-line = true
+known-first-party = ["gifn_apply"]
+lines-after-imports = 2
+single-line-exclusions = ["typing"]
+
[tool.ruff.per-file-ignores]
# This is a test suite
"*/unit_tests/*" = ["S101"]
diff --git a/tools/git-if-needed/python/gifn_apply/__main__.py b/tools/git-if-needed/python/gifn_apply/__main__.py
index bcac2f3..aad4f33 100644
--- a/tools/git-if-needed/python/gifn_apply/__main__.py
+++ b/tools/git-if-needed/python/gifn_apply/__main__.py
@@ -6,12 +6,11 @@
import argparse
import dataclasses
-import logging
import functools
+import logging
import pathlib
import sys
import tempfile
-
from typing import Final
from . import defs
diff --git a/tools/git-if-needed/python/gifn_apply/defs.py b/tools/git-if-needed/python/gifn_apply/defs.py
index 32b13e8..e5971f3 100644
--- a/tools/git-if-needed/python/gifn_apply/defs.py
+++ b/tools/git-if-needed/python/gifn_apply/defs.py
@@ -5,9 +5,9 @@
from __future__ import annotations
import dataclasses
-
from typing import TYPE_CHECKING
+
if TYPE_CHECKING:
import logging
import pathlib
diff --git a/tools/git-if-needed/python/gifn_apply/gifn.py b/tools/git-if-needed/python/gifn_apply/gifn.py
index 3dbee5e..92f20dc 100644
--- a/tools/git-if-needed/python/gifn_apply/gifn.py
+++ b/tools/git-if-needed/python/gifn_apply/gifn.py
@@ -6,11 +6,11 @@
import shlex
import subprocess # noqa: S404
-
from typing import TYPE_CHECKING
from . import defs
+
if TYPE_CHECKING:
import pathlib
diff --git a/tools/git-if-needed/python/gifn_apply/git.py b/tools/git-if-needed/python/gifn_apply/git.py
index f33c1a1..5336e7d 100644
--- a/tools/git-if-needed/python/gifn_apply/git.py
+++ b/tools/git-if-needed/python/gifn_apply/git.py
@@ -5,14 +5,13 @@
from __future__ import annotations
import subprocess # noqa: S404
-
from typing import TYPE_CHECKING
from . import defs
+
if TYPE_CHECKING:
import pathlib
-
from typing import Final
diff --git a/tools/git-if-needed/tox.ini b/tools/git-if-needed/tox.ini
index 6c8ad52..df7df5e 100644
--- a/tools/git-if-needed/tox.ini
+++ b/tools/git-if-needed/tox.ini
@@ -24,6 +24,7 @@
deps =
-r python/requirements/ruff.txt
commands =
+ ruff check --config python/config/ruff-base/pyproject.toml --select=D,I --diff -- {[defs]pyfiles}
ruff format --check --config python/config/ruff-base/pyproject.toml --diff -- {[defs]pyfiles}
[testenv:reformat]
@@ -34,6 +35,7 @@
deps =
-r python/requirements/ruff.txt
commands =
+ ruff check --config python/config/ruff-base/pyproject.toml --select=D,I --fix -- {[defs]pyfiles}
ruff format --config python/config/ruff-base/pyproject.toml -- {[defs]pyfiles}
[testenv:mypy]