Skip to content

Commit 8787789

Browse files
expand ruff linting
1 parent 09f8669 commit 8787789

File tree

6 files changed

+24
-15
lines changed

6 files changed

+24
-15
lines changed

pyproject.toml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,14 @@ package-data = {"pluggy" = ["py.typed"]}
4848
[tool.ruff.lint]
4949
extend-select = [
5050
"I", # isort
51-
"UP",
51+
"F","E", "W",
52+
"UP", "ANN",
5253
]
54+
extend-ignore = ["ANN101", "ANN102", "ANN401"]
55+
56+
[tool.ruff.lint.extend-per-file-ignores]
57+
"testing/*.py" = ["ANN001", "ANN002", "ANN003", "ANN201", "ANN202","ANN204" ,]
58+
"docs/*.py" = ["ANN001", "ANN002", "ANN003", "ANN201", "ANN202","ANN204" ,]
5359

5460
[tool.ruff.lint.isort]
5561
force-single-line = true

scripts/release.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from git import Repo
1313

1414

15-
def create_branch(version):
15+
def create_branch(version: str) -> Repo:
1616
"""Create a fresh branch from upstream/main"""
1717
repo = Repo.init(".")
1818
if repo.is_dirty(untracked_files=True):
@@ -36,7 +36,7 @@ def get_upstream(repo: Repo) -> Remote:
3636
raise RuntimeError("could not find pytest-dev/pluggy remote")
3737

3838

39-
def pre_release(version):
39+
def pre_release(version: str) -> None:
4040
"""Generates new docs, release announcements and creates a local tag."""
4141
create_branch(version)
4242
changelog(version, write_out=True)
@@ -47,7 +47,7 @@ def pre_release(version):
4747
print(f"{Fore.GREEN}Please push your branch to your fork and open a PR.")
4848

4949

50-
def changelog(version, write_out=False):
50+
def changelog(version: str, write_out: bool = False) -> None:
5151
if write_out:
5252
addopts = []
5353
else:
@@ -56,7 +56,7 @@ def changelog(version, write_out=False):
5656
check_call(["towncrier", "build", "--yes", "--version", version] + addopts)
5757

5858

59-
def main():
59+
def main() -> int:
6060
init(autoreset=True)
6161
parser = argparse.ArgumentParser()
6262
parser.add_argument("version", help="Release version")
@@ -66,6 +66,8 @@ def main():
6666
except RuntimeError as e:
6767
print(f"{Fore.RED}ERROR: {e}")
6868
return 1
69+
else:
70+
return 0
6971

7072

7173
if __name__ == "__main__":

scripts/towncrier-draft-to-file.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import sys
33

44

5-
def main():
5+
def main() -> int:
66
"""
77
Platform agnostic wrapper script for towncrier.
88
Fixes the issue (pytest#7251) where windows users are unable to natively

src/pluggy/_callers.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
from collections.abc import Generator
88
from collections.abc import Mapping
9+
from collections.abc import Sequence
910
from typing import cast
1011
from typing import NoReturn
11-
from typing import Sequence
1212
import warnings
1313

1414
from ._hooks import HookImpl
@@ -50,9 +50,7 @@ def run_legacy_hookwrapper(
5050

5151

5252
def _raise_wrapfail(
53-
wrap_controller: (
54-
Generator[None, Result[object], None] | Generator[None, object, object]
55-
),
53+
wrap_controller: Generator[None, object, object],
5654
msg: str,
5755
) -> NoReturn:
5856
co = wrap_controller.gi_code # type: ignore[union-attr]

src/pluggy/_hooks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,8 @@ def _verify_all_args_are_provided(self, kwargs: Mapping[str, object]) -> None:
483483
notincall = ", ".join(
484484
repr(argname)
485485
for argname in self.spec.argnames
486-
# Avoid self.spec.argnames - kwargs.keys() - doesn't preserve order.
486+
# Avoid self.spec.argnames - kwargs.keys()
487+
# it doesn't preserve order.
487488
if argname not in kwargs.keys()
488489
)
489490
warnings.warn(

testing/benchmark.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Benchmarking and performance tests.
33
"""
44

5+
from typing import Any
6+
57
import pytest
68

79
from pluggy import HookimplMarker
@@ -26,16 +28,16 @@ def wrapper(arg1, arg2, arg3):
2628

2729

2830
@pytest.fixture(params=[10, 100], ids="hooks={}".format)
29-
def hooks(request):
31+
def hooks(request: Any) -> list[object]:
3032
return [hook for i in range(request.param)]
3133

3234

3335
@pytest.fixture(params=[10, 100], ids="wrappers={}".format)
34-
def wrappers(request):
36+
def wrappers(request: Any) -> list[object]:
3537
return [wrapper for i in range(request.param)]
3638

3739

38-
def test_hook_and_wrappers_speed(benchmark, hooks, wrappers):
40+
def test_hook_and_wrappers_speed(benchmark, hooks, wrappers) -> None:
3941
def setup():
4042
hook_name = "foo"
4143
hook_impls = []
@@ -65,7 +67,7 @@ def setup():
6567
(100, 100, 0),
6668
],
6769
)
68-
def test_call_hook(benchmark, plugins, wrappers, nesting):
70+
def test_call_hook(benchmark, plugins, wrappers, nesting) -> None:
6971
pm = PluginManager("example")
7072

7173
class HookSpec:

0 commit comments

Comments
 (0)