It seems Ruff expects a space after isort:skip (i.e. Ruff wants isort: skip), and Ruff seems to ignore F401 for the purposes of import sorting, whereas isort honours them as skip markers(?).
Ruff also reports 1 error in the initial call, yet the --diff call reports three errors.
Ruff version 213; isort version 5.11.4
Sample file:
(sphinx) PS I:\Development\sphinx> type bug.py
from operator import add # noqa: F401
from operator import sub # noqa: F401
from math import pi # noqa: F401 isort:skip
from math import e # noqa: F401 isort:skip
from string import ( # noqa: E402 # isort:skip
ascii_lowercase
)
from pprint import pprint # isort:skip
(sphinx) PS I:\Development\sphinx> isort bug.py
(sphinx) PS I:\Development\sphinx> ruff bug.py --select I
bug.py:1:1: I001 Import block is un-sorted or un-formatted
Found 1 error(s).
1 potentially fixable with the --fix option.
(sphinx) PS I:\Development\sphinx> ruff bug.py --diff
--- bug.py
+++ bug.py
@@ -1,11 +1,8 @@
-from operator import add # noqa: F401
-from operator import sub # noqa: F401
-
-from math import pi # noqa: F401 isort:skip
-from math import e # noqa: F401 isort:skip
-
-from string import ( # noqa: E402 # isort:skip
- ascii_lowercase
+from math import (
+ e, # noqa: F401 isort:skip
+ pi, # noqa: F401 isort:skip
+)
+from operator import (
+ add, # noqa: F401
+ sub, # noqa: F401
)
-
-from pprint import pprint # isort:skip
Would fix 3 error(s).
(sphinx) PS I:\Development\sphinx> ruff -V
ruff 0.0.213
(sphinx) PS I:\Development\sphinx>
A
It seems Ruff expects a space after
isort:skip(i.e. Ruff wantsisort: skip), and Ruff seems to ignore F401 for the purposes of import sorting, whereasisorthonours them as skip markers(?).Ruff also reports 1 error in the initial call, yet the
--diffcall reports three errors.Ruff version 213; isort version 5.11.4
Sample file:
A