diff --git a/archinstall/lib/boot.py b/archinstall/lib/boot.py index 498a987e85..30d6a23399 100644 --- a/archinstall/lib/boot.py +++ b/archinstall/lib/boot.py @@ -1,5 +1,6 @@ import time -from typing import Iterator, Optional +from collections.abc import Iterator +from typing import Optional from .exceptions import SysCallError from .general import SysCommand, SysCommandWorker, locate_binary from .installer import Installer diff --git a/archinstall/lib/disk/filesystem.py b/archinstall/lib/disk/filesystem.py index 68ef77469a..2c6fae73f8 100644 --- a/archinstall/lib/disk/filesystem.py +++ b/archinstall/lib/disk/filesystem.py @@ -2,7 +2,7 @@ import time from pathlib import Path -from typing import Any, Optional, TYPE_CHECKING, Set +from typing import Any, Optional, TYPE_CHECKING from ..interactions.general_conf import ask_abort from .device_handler import device_handler @@ -251,7 +251,7 @@ def _lvm_create_pvs( lvm_config: LvmConfiguration, enc_mods: dict[PartitionModification, Luks2] = {} ) -> None: - pv_paths: Set[Path] = set() + pv_paths: set[Path] = set() for vg in lvm_config.vol_groups: pv_paths |= self._get_all_pv_dev_paths(vg.pvs, enc_mods) @@ -262,8 +262,8 @@ def _get_all_pv_dev_paths( self, pvs: list[PartitionModification], enc_mods: dict[PartitionModification, Luks2] = {} - ) -> Set[Path]: - pv_paths: Set[Path] = set() + ) -> set[Path]: + pv_paths: set[Path] = set() for pv in pvs: if enc_pv := enc_mods.get(pv, None): diff --git a/archinstall/lib/disk/partitioning_menu.py b/archinstall/lib/disk/partitioning_menu.py index db93cf6f45..1fa985dd63 100644 --- a/archinstall/lib/disk/partitioning_menu.py +++ b/archinstall/lib/disk/partitioning_menu.py @@ -2,7 +2,7 @@ import re from pathlib import Path -from typing import Any, TYPE_CHECKING, Optional, Tuple +from typing import Any, TYPE_CHECKING, Optional from dataclasses import dataclass from ..utils.util import prompt_dir @@ -287,7 +287,7 @@ def validate(value: str) -> Optional[str]: assert size return size - def _prompt_size(self) -> Tuple[Size, Size]: + def _prompt_size(self) -> tuple[Size, Size]: device_info = self._device.device_info text = str(_('Current free sectors on device {}:')).format(device_info.path) + '\n\n' diff --git a/archinstall/lib/general.py b/archinstall/lib/general.py index dfb42c8150..59356209ac 100644 --- a/archinstall/lib/general.py +++ b/archinstall/lib/general.py @@ -14,9 +14,10 @@ from urllib.request import Request, urlopen import urllib.error import pathlib +from collections.abc import Callable, Iterator from datetime import datetime, date from enum import Enum -from typing import Callable, Optional, Any, Union, Iterator, TYPE_CHECKING +from typing import Optional, Any, Union, TYPE_CHECKING from select import epoll, EPOLLIN, EPOLLHUP from shutil import which diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 444b060cfa..09ac3bcb47 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -5,8 +5,9 @@ import shutil import subprocess import time +from collections.abc import Callable from pathlib import Path -from typing import Any, Optional, TYPE_CHECKING, Union, Callable +from typing import Any, Optional, TYPE_CHECKING, Union from . import disk from .exceptions import DiskError, ServiceException, RequirementError, HardwareIncompatibilityError, SysCallError diff --git a/archinstall/lib/interactions/disk_conf.py b/archinstall/lib/interactions/disk_conf.py index f3c04ae91a..098a8029fe 100644 --- a/archinstall/lib/interactions/disk_conf.py +++ b/archinstall/lib/interactions/disk_conf.py @@ -2,7 +2,7 @@ from pathlib import Path from typing import Any, TYPE_CHECKING -from typing import Optional, Tuple +from typing import Optional from .. import disk from ..disk.device_model import BtrfsMountOption @@ -452,7 +452,7 @@ def suggest_multi_disk_layout( delta = device.device_info.total_size - desired_root_partition_size devices_delta[device] = delta - sorted_delta: list[Tuple[disk.BDevice, Any]] = sorted(devices_delta.items(), key=lambda x: x[1]) + sorted_delta: list[tuple[disk.BDevice, Any]] = sorted(devices_delta.items(), key=lambda x: x[1]) root_device: Optional[disk.BDevice] = sorted_delta[0][0] if home_device is None or root_device is None: diff --git a/archinstall/lib/menu/abstract_menu.py b/archinstall/lib/menu/abstract_menu.py index f980756f05..afc0724eba 100644 --- a/archinstall/lib/menu/abstract_menu.py +++ b/archinstall/lib/menu/abstract_menu.py @@ -1,6 +1,7 @@ from __future__ import annotations -from typing import Callable, Any, Optional, TYPE_CHECKING +from collections.abc import Callable +from typing import Any, Optional, TYPE_CHECKING from ..output import error from ..output import unicode_ljust diff --git a/archinstall/lib/menu/list_manager.py b/archinstall/lib/menu/list_manager.py index efd5bff6e6..679485a5e2 100644 --- a/archinstall/lib/menu/list_manager.py +++ b/archinstall/lib/menu/list_manager.py @@ -1,5 +1,5 @@ import copy -from typing import Any, TYPE_CHECKING, Optional, Tuple +from typing import Any, TYPE_CHECKING, Optional from ..output import FormattedOutput from archinstall.tui import ( @@ -97,7 +97,7 @@ def run(self) -> list[Any]: else: return self._data - def _prepare_selection(self, data_formatted: dict[str, Any]) -> Tuple[list[str], str]: + def _prepare_selection(self, data_formatted: dict[str, Any]) -> tuple[list[str], str]: # header rows are mapped to None so make sure # to exclude those from the selectable data options: list[str] = [key for key, val in data_formatted.items() if val is not None] diff --git a/archinstall/lib/menu/menu_helper.py b/archinstall/lib/menu/menu_helper.py index 616c03c0b3..d381e75aed 100644 --- a/archinstall/lib/menu/menu_helper.py +++ b/archinstall/lib/menu/menu_helper.py @@ -1,4 +1,4 @@ -from typing import Any, Tuple, Optional +from typing import Any, Optional from archinstall.lib.output import FormattedOutput @@ -11,8 +11,8 @@ class MenuHelper: @staticmethod def create_table( data: Optional[list[Any]] = None, - table_data: Optional[Tuple[list[Any], str]] = None, - ) -> Tuple[MenuItemGroup, str]: + table_data: Optional[tuple[list[Any], str]] = None, + ) -> tuple[MenuItemGroup, str]: if data is not None: table_text = FormattedOutput.as_table(data) rows = table_text.split('\n') @@ -52,7 +52,7 @@ def _create_table(data: list[Any], rows: list[str], header_padding: int = 2) -> return display_data @staticmethod - def _prepare_selection(table: dict[str, Any]) -> Tuple[dict[str, Any], str]: + def _prepare_selection(table: dict[str, Any]) -> tuple[dict[str, Any], str]: # header rows are mapped to None so make sure to exclude those from the selectable data options = {key: val for key, val in table.items() if val is not None} header = '' diff --git a/archinstall/lib/mirrors.py b/archinstall/lib/mirrors.py index 2cd504bf4e..5e2de66dbb 100644 --- a/archinstall/lib/mirrors.py +++ b/archinstall/lib/mirrors.py @@ -4,7 +4,7 @@ from pathlib import Path from dataclasses import dataclass, field from enum import Enum -from typing import Any, Optional, TYPE_CHECKING, Tuple +from typing import Any, Optional, TYPE_CHECKING from .menu import AbstractSubMenu, ListManager from .networking import fetch_data_from_url @@ -339,7 +339,7 @@ def select_mirror_regions(preset: dict[str, list[MirrorStatusEntryV3]]) -> dict[ case ResultType.Reset: return {} case ResultType.Selection: - selected_mirrors: list[Tuple[str, list[MirrorStatusEntryV3]]] = result.get_values() + selected_mirrors: list[tuple[str, list[MirrorStatusEntryV3]]] = result.get_values() return {name: mirror for name, mirror in selected_mirrors} diff --git a/archinstall/lib/models/network_configuration.py b/archinstall/lib/models/network_configuration.py index 1ac01404e7..b123817357 100644 --- a/archinstall/lib/models/network_configuration.py +++ b/archinstall/lib/models/network_configuration.py @@ -2,7 +2,7 @@ from dataclasses import dataclass, field from enum import Enum -from typing import Optional, Any, TYPE_CHECKING, Tuple +from typing import Optional, Any, TYPE_CHECKING from ..profile import ProfileConfiguration @@ -62,8 +62,8 @@ def parse_arg(arg: dict[str, Any]) -> Nic: ) def as_systemd_config(self) -> str: - match: list[Tuple[str, str]] = [] - network: list[Tuple[str, str]] = [] + match: list[tuple[str, str]] = [] + network: list[tuple[str, str]] = [] if self.iface: match.append(('Name', self.iface)) diff --git a/archinstall/lib/output.py b/archinstall/lib/output.py index bf4f6fc545..d3ba4892ce 100644 --- a/archinstall/lib/output.py +++ b/archinstall/lib/output.py @@ -2,10 +2,11 @@ import os import sys import unicodedata +from collections.abc import Callable from enum import Enum from pathlib import Path -from typing import Union, Any, Callable, Optional, TYPE_CHECKING +from typing import Union, Any, Optional, TYPE_CHECKING from dataclasses import asdict, is_dataclass from .storage import storage diff --git a/archinstall/lib/packages/packages.py b/archinstall/lib/packages/packages.py index 06a582226e..4abdac9ecc 100644 --- a/archinstall/lib/packages/packages.py +++ b/archinstall/lib/packages/packages.py @@ -1,7 +1,7 @@ import dataclasses import json import ssl -from typing import Any, Tuple +from typing import Any from urllib.error import HTTPError from urllib.parse import urlencode from urllib.request import urlopen @@ -91,7 +91,7 @@ def find_packages(*names: str) -> dict[str, Any]: return result -def validate_package_list(packages: list) -> Tuple[list, list]: +def validate_package_list(packages: list) -> tuple[list, list]: """ Validates a list of given packages. return: Tuple of lists containing valid packavges in the first and invalid diff --git a/archinstall/lib/pacman/__init__.py b/archinstall/lib/pacman/__init__.py index 1ce11850fe..032d39d815 100644 --- a/archinstall/lib/pacman/__init__.py +++ b/archinstall/lib/pacman/__init__.py @@ -1,7 +1,8 @@ from pathlib import Path import time import re -from typing import TYPE_CHECKING, Any, Callable, Union +from collections.abc import Callable +from typing import TYPE_CHECKING, Any, Union from shutil import copy2 from ..general import SysCommand diff --git a/archinstall/tui/curses_menu.py b/archinstall/tui/curses_menu.py index b23c63b32c..dc1d95ab01 100644 --- a/archinstall/tui/curses_menu.py +++ b/archinstall/tui/curses_menu.py @@ -5,11 +5,11 @@ import os import signal from abc import ABCMeta, abstractmethod +from collections.abc import Callable from curses.textpad import Textbox from dataclasses import dataclass from types import FrameType, TracebackType -from typing import Any, Optional, Tuple, TYPE_CHECKING, Literal -from typing import Callable +from typing import Any, Optional, TYPE_CHECKING, Literal from .help import Help from .menu_item import MenuItem, MenuItemGroup @@ -1448,7 +1448,7 @@ def print( Tui.t().screen.refresh() @property - def max_yx(self) -> Tuple[int, int]: + def max_yx(self) -> tuple[int, int]: return self._screen.getmaxyx() @staticmethod diff --git a/archinstall/tui/menu_item.py b/archinstall/tui/menu_item.py index d29898aa31..9cdc1d9b09 100644 --- a/archinstall/tui/menu_item.py +++ b/archinstall/tui/menu_item.py @@ -1,6 +1,7 @@ +from collections.abc import Callable from dataclasses import dataclass, field from typing import Any, Optional, TYPE_CHECKING -from typing import Callable, ClassVar +from typing import ClassVar from ..lib.output import unicode_ljust