style(types): use new bracex static typing support (#887)
* style(types): use new bracex static typing support * style(types): add a bit more basic typing * style(types): globally ignore ghapi * style(types): include a bit more in the global ignores * fix(types): line invalid on Python 3.6 * fix: require typing_extensions 3.10
This commit is contained in:
@@ -163,7 +163,7 @@ def main() -> None:
|
||||
os.environ["CIBUILDWHEEL"] = "1"
|
||||
|
||||
# Python is buffering by default when running on the CI platforms, giving problems interleaving subprocess call output with unflushed calls to 'print'
|
||||
sys.stdout = Unbuffered(sys.stdout) # type: ignore[no-untyped-call,assignment]
|
||||
sys.stdout = Unbuffered(sys.stdout) # type: ignore[assignment]
|
||||
|
||||
print_preamble(platform=platform, options=options, identifiers=identifiers)
|
||||
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
import subprocess
|
||||
import sys
|
||||
import textwrap
|
||||
from collections import OrderedDict
|
||||
from pathlib import Path, PurePath
|
||||
from typing import Iterator, List, NamedTuple, Set
|
||||
from typing import Iterator, List, NamedTuple, Set, Tuple
|
||||
|
||||
from .architecture import Architecture
|
||||
from .docker_container import DockerContainer
|
||||
from .logger import log
|
||||
from .options import Options
|
||||
from .typing import PathOrStr, assert_never
|
||||
from .typing import OrderedDict, PathOrStr, assert_never
|
||||
from .util import (
|
||||
BuildSelector,
|
||||
NonPlatformWheelError,
|
||||
@@ -80,7 +79,7 @@ def get_build_steps(
|
||||
Groups PythonConfigurations into BuildSteps. Each BuildStep represents a
|
||||
separate Docker container.
|
||||
"""
|
||||
steps: OrderedDict[tuple, BuildStep] = OrderedDict() # type: ignore[type-arg]
|
||||
steps = OrderedDict[Tuple[str, str, str], BuildStep]()
|
||||
|
||||
for config in python_configurations:
|
||||
_, platform_tag = config.identifier.split("-", 1)
|
||||
|
||||
@@ -12,7 +12,7 @@ import urllib.request
|
||||
from enum import Enum
|
||||
from pathlib import Path
|
||||
from time import sleep
|
||||
from typing import Dict, Iterator, List, Optional
|
||||
from typing import Any, Dict, Iterable, Iterator, List, Optional, TextIO
|
||||
|
||||
import bracex
|
||||
import certifi
|
||||
@@ -84,9 +84,9 @@ def selector_matches(patterns: str, string: str) -> bool:
|
||||
expansion. For example, 'cp{36,37}-*' would match either of 'cp36-*' or
|
||||
'cp37-*'.
|
||||
"""
|
||||
patterns_list: List[str] = patterns.split()
|
||||
patterns_list = itertools.chain.from_iterable(bracex.expand(p) for p in patterns_list) # type: ignore[assignment]
|
||||
return any(fnmatch.fnmatch(string, pat) for pat in patterns_list)
|
||||
patterns_list = patterns.split()
|
||||
expanded_patterns = itertools.chain.from_iterable(bracex.expand(p) for p in patterns_list)
|
||||
return any(fnmatch.fnmatch(string, pat) for pat in expanded_patterns)
|
||||
|
||||
|
||||
class IdentifierSelector:
|
||||
@@ -161,18 +161,18 @@ class TestSelector(IdentifierSelector):
|
||||
|
||||
# Taken from https://stackoverflow.com/a/107717
|
||||
class Unbuffered:
|
||||
def __init__(self, stream): # type: ignore[no-untyped-def]
|
||||
def __init__(self, stream: TextIO) -> None:
|
||||
self.stream = stream
|
||||
|
||||
def write(self, data): # type: ignore[no-untyped-def]
|
||||
def write(self, data: str) -> None:
|
||||
self.stream.write(data)
|
||||
self.stream.flush()
|
||||
|
||||
def writelines(self, data): # type: ignore[no-untyped-def]
|
||||
def writelines(self, data: Iterable[str]) -> None:
|
||||
self.stream.writelines(data)
|
||||
self.stream.flush()
|
||||
|
||||
def __getattr__(self, attr): # type: ignore[no-untyped-def]
|
||||
def __getattr__(self, attr: str) -> Any:
|
||||
return getattr(self.stream, attr)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user