* Update python versions as part of update_dependencies * refactor: pulling out to update_pythons * refactor: rewrite and expect install * feat: support macos too, logging output * WIP: update * refactor: drive from original file * Remove unused variable * Output a diff instead of the result file, to review changes more easily * fix: minor cleanup Co-authored-by: Henry Fredrick Schreiner <henry.fredrick.schreiner@cern.ch> Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com> Co-authored-by: Joe Rickerby <joerick@mac.com>
29 lines
823 B
Python
29 lines
823 B
Python
import os
|
|
import subprocess
|
|
import sys
|
|
from typing import TYPE_CHECKING, NoReturn, Set, Union
|
|
|
|
if sys.version_info < (3, 8):
|
|
from typing_extensions import Final, Literal, TypedDict
|
|
else:
|
|
from typing import Final, Literal, TypedDict
|
|
|
|
|
|
__all__ = ("Final", "Literal", "TypedDict", "Set", "Union", "PopenBytes", "PathOrStr", "PlatformName", "PLATFORMS", "assert_never")
|
|
|
|
|
|
if TYPE_CHECKING:
|
|
PopenBytes = subprocess.Popen[bytes]
|
|
PathOrStr = Union[str, os.PathLike[str]]
|
|
else:
|
|
PopenBytes = subprocess.Popen
|
|
PathOrStr = Union[str, "os.PathLike[str]"]
|
|
|
|
|
|
PlatformName = Literal["linux", "macos", "windows"]
|
|
PLATFORMS: Final[Set[PlatformName]] = {"linux", "macos", "windows"}
|
|
|
|
|
|
def assert_never(value: NoReturn) -> NoReturn:
|
|
assert False, f'Unhandled value: {value} ({type(value).__name__})' # noqa: B011
|