Skip to content

Commit e514e01

Browse files
marinelayclaude
andcommitted
Use Iterable[str] instead of Sequence[str] for argv parameters
argparse.ArgumentParser.parse_args() accepts any Iterable[str], not just Sequence[str]. The latest typeshed reflects this with the signature `def parse_args(args: Iterable[str] | None = ...) -> Namespace`. Update all main(argv:) parameters from `Sequence[str] | None` to `Iterable[str] | None` and adjust imports accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 803469b commit e514e01

31 files changed

Lines changed: 62 additions & 62 deletions

pre_commit_hooks/check_added_large_files.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import math
55
import os
66
import subprocess
7-
from collections.abc import Sequence
7+
from collections.abc import Iterable, Sequence
88

99
from pre_commit_hooks.util import added_files
1010
from pre_commit_hooks.util import zsplit
@@ -54,7 +54,7 @@ def find_large_added_files(
5454
return retv
5555

5656

57-
def main(argv: Sequence[str] | None = None) -> int:
57+
def main(argv: Iterable[str] | None = None) -> int:
5858
parser = argparse.ArgumentParser()
5959
parser.add_argument(
6060
'filenames', nargs='*',

pre_commit_hooks/check_ast.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
import platform
66
import sys
77
import traceback
8-
from collections.abc import Sequence
8+
from collections.abc import Iterable, Sequence
99

1010

11-
def main(argv: Sequence[str] | None = None) -> int:
11+
def main(argv: Iterable[str] | None = None) -> int:
1212
parser = argparse.ArgumentParser()
1313
parser.add_argument('filenames', nargs='*')
1414
args = parser.parse_args(argv)

pre_commit_hooks/check_builtin_literals.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import argparse
44
import ast
5-
from collections.abc import Sequence
5+
from collections.abc import Iterable, Sequence
66
from typing import NamedTuple
77

88

@@ -70,7 +70,7 @@ def parse_ignore(value: str) -> set[str]:
7070
return set(value.split(','))
7171

7272

73-
def main(argv: Sequence[str] | None = None) -> int:
73+
def main(argv: Iterable[str] | None = None) -> int:
7474
parser = argparse.ArgumentParser()
7575
parser.add_argument('filenames', nargs='*')
7676
parser.add_argument('--ignore', type=parse_ignore, default=set())

pre_commit_hooks/check_case_conflict.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import argparse
44
from collections.abc import Iterable
55
from collections.abc import Iterator
6-
from collections.abc import Sequence
6+
from collections.abc import Iterable, Sequence
77

88
from pre_commit_hooks.util import added_files
99
from pre_commit_hooks.util import cmd_output
@@ -56,7 +56,7 @@ def find_conflicting_filenames(filenames: Sequence[str]) -> int:
5656
return retv
5757

5858

59-
def main(argv: Sequence[str] | None = None) -> int:
59+
def main(argv: Iterable[str] | None = None) -> int:
6060
parser = argparse.ArgumentParser()
6161
parser.add_argument(
6262
'filenames', nargs='*',

pre_commit_hooks/check_docstring_first.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import argparse
44
import io
55
import tokenize
6-
from collections.abc import Sequence
6+
from collections.abc import Iterable, Sequence
77
from tokenize import tokenize as tokenize_tokenize
88

99
NON_CODE_TOKENS = frozenset((
@@ -46,7 +46,7 @@ def check_docstring_first(src: bytes, filename: str = '<unknown>') -> int:
4646
return 0
4747

4848

49-
def main(argv: Sequence[str] | None = None) -> int:
49+
def main(argv: Iterable[str] | None = None) -> int:
5050
parser = argparse.ArgumentParser()
5151
parser.add_argument('filenames', nargs='*')
5252
args = parser.parse_args(argv)

pre_commit_hooks/check_executables_have_shebangs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import shlex
66
import sys
77
from collections.abc import Generator
8-
from collections.abc import Sequence
8+
from collections.abc import Iterable, Sequence
99
from typing import NamedTuple
1010

1111
from pre_commit_hooks.util import cmd_output
@@ -73,7 +73,7 @@ def _message(path: str) -> None:
7373
)
7474

7575

76-
def main(argv: Sequence[str] | None = None) -> int:
76+
def main(argv: Iterable[str] | None = None) -> int:
7777
parser = argparse.ArgumentParser(description=__doc__)
7878
parser.add_argument('filenames', nargs='*')
7979
args = parser.parse_args(argv)

pre_commit_hooks/check_json.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import argparse
44
import json
5-
from collections.abc import Sequence
5+
from collections.abc import Iterable, Sequence
66
from typing import Any
77

88

@@ -18,7 +18,7 @@ def raise_duplicate_keys(
1818
return d
1919

2020

21-
def main(argv: Sequence[str] | None = None) -> int:
21+
def main(argv: Iterable[str] | None = None) -> int:
2222
parser = argparse.ArgumentParser()
2323
parser.add_argument('filenames', nargs='*', help='Filenames to check.')
2424
args = parser.parse_args(argv)

pre_commit_hooks/check_merge_conflict.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import argparse
44
import os.path
5-
from collections.abc import Sequence
5+
from collections.abc import Iterable, Sequence
66

77
from pre_commit_hooks.util import cmd_output
88

@@ -28,7 +28,7 @@ def is_in_merge() -> bool:
2828
)
2929

3030

31-
def main(argv: Sequence[str] | None = None) -> int:
31+
def main(argv: Iterable[str] | None = None) -> int:
3232
parser = argparse.ArgumentParser()
3333
parser.add_argument('filenames', nargs='*')
3434
parser.add_argument('--assume-in-merge', action='store_true')

pre_commit_hooks/check_shebang_scripts_are_executable.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import argparse
55
import shlex
66
import sys
7-
from collections.abc import Sequence
7+
from collections.abc import Iterable, Sequence
88

99
from pre_commit_hooks.check_executables_have_shebangs import EXECUTABLE_VALUES
1010
from pre_commit_hooks.check_executables_have_shebangs import git_ls_files
@@ -42,7 +42,7 @@ def _message(path: str) -> None:
4242
)
4343

4444

45-
def main(argv: Sequence[str] | None = None) -> int:
45+
def main(argv: Iterable[str] | None = None) -> int:
4646
parser = argparse.ArgumentParser(description=__doc__)
4747
parser.add_argument('filenames', nargs='*')
4848
args = parser.parse_args(argv)

pre_commit_hooks/check_symlinks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
import argparse
44
import os.path
5-
from collections.abc import Sequence
5+
from collections.abc import Iterable, Sequence
66

77

8-
def main(argv: Sequence[str] | None = None) -> int:
8+
def main(argv: Iterable[str] | None = None) -> int:
99
parser = argparse.ArgumentParser(description='Checks for broken symlinks.')
1010
parser.add_argument('filenames', nargs='*', help='Filenames to check')
1111
args = parser.parse_args(argv)

0 commit comments

Comments
 (0)