Convert imports to absolute imports (#4196)

* Enable ruff absolute import check

* Convert all relative imports to absolute

* Update

* Update
This commit is contained in:
Daniel Girtler 2026-02-26 20:17:48 +11:00 committed by GitHub
parent c92a457142
commit e4faba2de0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
54 changed files with 195 additions and 248 deletions

View File

@ -1,3 +1,3 @@
from .lib.plugins import plugin
from archinstall.lib.plugins import plugin
__all__ = ['plugin']

View File

@ -6,8 +6,8 @@ from typing import TYPE_CHECKING, Self
from archinstall.lib.translationhandler import tr
if TYPE_CHECKING:
from ..lib.installer import Installer
from ..lib.models.users import User
from archinstall.lib.installer import Installer
from archinstall.lib.models.users import User
class ProfileType(Enum):

View File

@ -5,12 +5,12 @@ from collections.abc import Iterator
from types import TracebackType
from typing import TYPE_CHECKING, ClassVar, Self
from .command import SysCommand, SysCommandWorker, locate_binary
from .exceptions import SysCallError
from .output import error
from archinstall.lib.command import SysCommand, SysCommandWorker, locate_binary
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.output import error
if TYPE_CHECKING:
from .installer import Installer
from archinstall.lib.installer import Installer
class Boot:

View File

@ -1,14 +1,13 @@
import textwrap
from typing import override
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Confirmation, Selection
from archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..menu.abstract_menu import AbstractSubMenu
from ..models.bootloader import Bootloader, BootloaderConfiguration
class BootloaderMenu(AbstractSubMenu[BootloaderConfiguration]):
def __init__(

View File

@ -6,16 +6,15 @@ from typing import Any
from pydantic import TypeAdapter
from archinstall.lib.args import ArchConfig
from archinstall.lib.crypt import encrypt
from archinstall.lib.menu.helpers import Confirmation, Selection
from archinstall.lib.menu.util import get_password, prompt_dir
from archinstall.lib.output import debug, logger, warn
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from .args import ArchConfig
from .crypt import encrypt
from .menu.util import get_password, prompt_dir
from .output import debug, logger, warn
class ConfigurationOutput:
def __init__(self, config: ArchConfig):

View File

@ -6,7 +6,7 @@ from pathlib import Path
from cryptography.fernet import Fernet, InvalidToken
from cryptography.hazmat.primitives.kdf.argon2 import Argon2id
from .output import debug
from archinstall.lib.output import debug
libcrypt = ctypes.CDLL('libcrypt.so')

View File

@ -5,10 +5,11 @@ from pathlib import Path
from parted import Device, Disk, DiskException, FileSystem, Geometry, IOException, Partition, PartitionException, freshDisk, getAllDevices, getDevice, newDisk
from ..command import SysCommand, SysCommandWorker
from ..exceptions import DiskError, SysCallError, UnknownFilesystemFormat
from ..luks import Luks2, unlock_luks2_dev
from ..models.device import (
from archinstall.lib.command import SysCommand, SysCommandWorker
from archinstall.lib.disk.utils import find_lsblk_info, get_all_lsblk_info, get_lsblk_info, mount, umount
from archinstall.lib.exceptions import DiskError, SysCallError, UnknownFilesystemFormat
from archinstall.lib.luks import Luks2, unlock_luks2_dev
from archinstall.lib.models.device import (
DEFAULT_ITER_TIME,
BDevice,
BtrfsMountOption,
@ -30,16 +31,9 @@ from ..models.device import (
_DeviceInfo,
_PartitionInfo,
)
from ..models.users import Password
from ..output import debug, error, info, log
from ..utils.util import is_subpath
from .utils import (
find_lsblk_info,
get_all_lsblk_info,
get_lsblk_info,
mount,
umount,
)
from archinstall.lib.models.users import Password
from archinstall.lib.output import debug, error, info, log
from archinstall.lib.utils.util import is_subpath
class DeviceHandler:

View File

@ -2,6 +2,8 @@ from dataclasses import dataclass
from typing import override
from archinstall.lib.disk.encryption_menu import DiskEncryptionMenu
from archinstall.lib.interactions.disk_conf import select_disk_config, select_lvm_config
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Selection
from archinstall.lib.models.device import (
DEFAULT_ITER_TIME,
@ -14,14 +16,11 @@ from archinstall.lib.models.device import (
SnapshotConfig,
SnapshotType,
)
from archinstall.lib.output import FormattedOutput
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..interactions.disk_conf import select_disk_config, select_lvm_config
from ..menu.abstract_menu import AbstractSubMenu
from ..output import FormattedOutput
@dataclass
class DiskMenuConfig:

View File

@ -1,27 +1,27 @@
from pathlib import Path
from typing import override
from archinstall.lib.disk.fido import Fido2
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Input, Selection, Table
from archinstall.lib.menu.menu_helper import MenuHelper
from archinstall.lib.menu.util import get_password
from archinstall.lib.models.device import (
DEFAULT_ITER_TIME,
DeviceModification,
DiskEncryption,
EncryptionType,
Fido2Device,
LvmConfiguration,
LvmVolume,
PartitionModification,
)
from archinstall.lib.models.users import Password
from archinstall.lib.output import FormattedOutput
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..menu.abstract_menu import AbstractSubMenu
from ..menu.util import get_password
from ..models.device import DEFAULT_ITER_TIME, Fido2Device
from ..models.users import Password
from ..output import FormattedOutput
from .fido import Fido2
class DiskEncryptionMenu(AbstractSubMenu[DiskEncryption]):
def __init__(

View File

@ -2,14 +2,13 @@ import getpass
from pathlib import Path
from typing import ClassVar
from archinstall.lib.command import SysCommand, SysCommandWorker
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.models.device import Fido2Device
from archinstall.lib.models.users import Password
from archinstall.lib.output import error, info
from archinstall.lib.utils.encoding import clear_vt100_escape_codes_from_str
from ..command import SysCommand, SysCommandWorker
from ..exceptions import SysCallError
from ..models.users import Password
from ..output import error, info
class Fido2:
_loaded_cryptsetup: bool = False

View File

@ -2,11 +2,11 @@ import math
import time
from pathlib import Path
from archinstall.lib.translationhandler import tr
from ..interactions.general_conf import confirm_abort
from ..luks import Luks2
from ..models.device import (
from archinstall.lib.disk.device_handler import device_handler
from archinstall.lib.disk.lvm import lvm_group_info, lvm_vol_info
from archinstall.lib.interactions.general_conf import confirm_abort
from archinstall.lib.luks import Luks2
from archinstall.lib.models.device import (
DiskEncryption,
DiskLayoutConfiguration,
DiskLayoutType,
@ -20,9 +20,8 @@ from ..models.device import (
Size,
Unit,
)
from ..output import debug, info
from .device_handler import device_handler
from .lvm import lvm_group_info, lvm_vol_info
from archinstall.lib.output import debug, info
from archinstall.lib.translationhandler import tr
class FilesystemHandler:

View File

@ -2,7 +2,9 @@ import re
from pathlib import Path
from typing import override
from archinstall.lib.disk.subvolume_menu import SubvolumeMenu
from archinstall.lib.menu.helpers import Confirmation, Input, Selection
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.menu.util import prompt_dir
from archinstall.lib.models.device import (
BtrfsMountOption,
@ -17,14 +19,11 @@ from archinstall.lib.models.device import (
Size,
Unit,
)
from archinstall.lib.output import FormattedOutput
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..menu.list_manager import ListManager
from ..output import FormattedOutput
from .subvolume_menu import SubvolumeMenu
class FreeSpace:
def __init__(self, start: Size, end: Size) -> None:
@ -566,7 +565,7 @@ class PartitioningList(ListManager[DiskSegment]):
if not self._reset_confirmation():
return None
from ..interactions.disk_conf import suggest_single_disk_layout
from archinstall.lib.interactions.disk_conf import suggest_single_disk_layout
return suggest_single_disk_layout(self._device)

View File

@ -2,13 +2,12 @@ from pathlib import Path
from typing import assert_never, override
from archinstall.lib.menu.helpers import Input
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.menu.util import prompt_dir
from archinstall.lib.models.device import SubvolumeModification
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.result import ResultType
from ..menu.list_manager import ListManager
class SubvolumeMenu(ListManager[SubvolumeModification]):
def __init__(

View File

@ -1,40 +1,34 @@
import sys
from typing import override
from archinstall.lib.applications.application_menu import ApplicationMenu
from archinstall.lib.args import ArchConfig
from archinstall.lib.authentication.authentication_menu import AuthenticationMenu
from archinstall.lib.bootloader.bootloader_menu import BootloaderMenu
from archinstall.lib.configuration import save_config
from archinstall.lib.disk.disk_menu import DiskLayoutConfigurationMenu
from archinstall.lib.hardware import SysInfo
from archinstall.lib.interactions.general_conf import add_number_of_parallel_downloads, select_hostname, select_ntp, select_timezone
from archinstall.lib.interactions.system_conf import select_kernel, select_swap
from archinstall.lib.locale.locale_menu import LocaleMenu
from archinstall.lib.menu.abstract_menu import CONFIG_KEY, AbstractMenu
from archinstall.lib.mirrors import MirrorListHandler, MirrorMenu
from archinstall.lib.models.application import ApplicationConfiguration, ZramConfiguration
from archinstall.lib.models.authentication import AuthenticationConfiguration
from archinstall.lib.models.bootloader import Bootloader, BootloaderConfiguration
from archinstall.lib.models.device import DiskLayoutConfiguration, DiskLayoutType, FilesystemType, PartitionModification
from archinstall.lib.models.locale import LocaleConfiguration
from archinstall.lib.models.mirrors import MirrorConfiguration
from archinstall.lib.models.network import NetworkConfiguration, NicType
from archinstall.lib.models.packages import Repository
from archinstall.lib.models.profile import ProfileConfiguration
from archinstall.lib.network.network_menu import select_network
from archinstall.lib.output import FormattedOutput
from archinstall.lib.packages.packages import list_available_packages, select_additional_packages
from archinstall.lib.pacman.config import PacmanConfig
from archinstall.lib.translationhandler import Language, tr, translation_handler
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from .applications.application_menu import ApplicationMenu
from .args import ArchConfig
from .authentication.authentication_menu import AuthenticationMenu
from .bootloader.bootloader_menu import BootloaderMenu
from .configuration import save_config
from .hardware import SysInfo
from .interactions.general_conf import (
add_number_of_parallel_downloads,
select_hostname,
select_ntp,
select_timezone,
)
from .interactions.system_conf import select_kernel, select_swap
from .locale.locale_menu import LocaleMenu
from .menu.abstract_menu import CONFIG_KEY, AbstractMenu
from .mirrors import MirrorListHandler, MirrorMenu
from .models.bootloader import Bootloader, BootloaderConfiguration
from .models.locale import LocaleConfiguration
from .models.mirrors import MirrorConfiguration
from .models.network import NetworkConfiguration, NicType
from .models.packages import Repository
from .models.profile import ProfileConfiguration
from .output import FormattedOutput
from .pacman.config import PacmanConfig
from .translationhandler import Language, tr, translation_handler
class GlobalMenu(AbstractMenu[None]):
def __init__(
@ -239,7 +233,7 @@ class GlobalMenu(AbstractMenu[None]):
return self._validate_bootloader() is None
def _select_archinstall_language(self, preset: Language) -> Language:
from .interactions.general_conf import select_archinstall_language
from archinstall.lib.interactions.general_conf import select_archinstall_language
language = select_archinstall_language(translation_handler.translated_languages, preset)
translation_handler.activate(language)
@ -538,7 +532,7 @@ class GlobalMenu(AbstractMenu[None]):
return bootloader_config
def _select_profile(self, current_profile: ProfileConfiguration | None) -> ProfileConfiguration | None:
from .profile.profile_menu import ProfileMenu
from archinstall.lib.profile.profile_menu import ProfileMenu
profile_config = ProfileMenu(preset=current_profile).run()
return profile_config

View File

@ -4,11 +4,11 @@ from functools import cached_property
from pathlib import Path
from typing import Self
from .command import SysCommand
from .exceptions import SysCallError
from .networking import enrich_iface_types, list_interfaces
from .output import debug
from .translationhandler import tr
from archinstall.lib.command import SysCommand
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.networking import enrich_iface_types, list_interfaces
from archinstall.lib.output import debug
from archinstall.lib.translationhandler import tr
class CpuVendor(Enum):

View File

@ -14,6 +14,8 @@ from subprocess import CalledProcessError
from types import TracebackType
from typing import Any, Self
from archinstall.lib.boot import Boot
from archinstall.lib.command import SysCommand, run
from archinstall.lib.disk.fido import Fido2
from archinstall.lib.disk.lvm import lvm_import_vg, lvm_pvseg_info, lvm_vol_change
from archinstall.lib.disk.utils import (
@ -24,7 +26,13 @@ from archinstall.lib.disk.utils import (
mount,
swapon,
)
from archinstall.lib.exceptions import DiskError, HardwareIncompatibilityError, RequirementError, ServiceException, SysCallError
from archinstall.lib.hardware import SysInfo
from archinstall.lib.locale.utils import verify_keyboard_layout, verify_x11_keyboard_layout
from archinstall.lib.luks import Luks2, unlock_luks2_dev
from archinstall.lib.mirrors import MirrorListHandler
from archinstall.lib.models.application import ZramAlgorithm
from archinstall.lib.models.bootloader import Bootloader
from archinstall.lib.models.device import (
DiskEncryption,
DiskLayoutConfiguration,
@ -38,27 +46,18 @@ from archinstall.lib.models.device import (
SubvolumeModification,
Unit,
)
from archinstall.lib.models.locale import LocaleConfiguration
from archinstall.lib.models.mirrors import MirrorConfiguration
from archinstall.lib.models.network import Nic
from archinstall.lib.models.packages import Repository
from archinstall.lib.models.users import User
from archinstall.lib.output import debug, error, info, log, logger, warn
from archinstall.lib.packages.packages import installed_package
from archinstall.lib.pacman.config import PacmanConfig
from archinstall.lib.pacman.pacman import Pacman
from archinstall.lib.plugins import plugins
from archinstall.lib.translationhandler import tr
from .boot import Boot
from .command import SysCommand, run
from .exceptions import DiskError, HardwareIncompatibilityError, RequirementError, ServiceException, SysCallError
from .hardware import SysInfo
from .locale.utils import verify_keyboard_layout, verify_x11_keyboard_layout
from .luks import Luks2, unlock_luks2_dev
from .mirrors import MirrorListHandler
from .models.bootloader import Bootloader
from .models.locale import LocaleConfiguration
from .models.mirrors import MirrorConfiguration
from .models.network import Nic
from .models.users import User
from .output import debug, error, info, log, logger, warn
from .pacman.config import PacmanConfig
from .pacman.pacman import Pacman
from .plugins import plugins
# Any package that the Installer() is responsible for (optional and the default ones)
__packages__ = ['base', 'sudo', 'linux-firmware', 'linux', 'linux-lts', 'linux-zen', 'linux-hardened']

View File

@ -1,4 +1,4 @@
from .disk_conf import (
from archinstall.lib.interactions.disk_conf import (
get_default_partition_layout,
select_devices,
select_disk_config,
@ -6,14 +6,14 @@ from .disk_conf import (
suggest_multi_disk_layout,
suggest_single_disk_layout,
)
from .general_conf import (
from archinstall.lib.interactions.general_conf import (
add_number_of_parallel_downloads,
select_archinstall_language,
select_hostname,
select_ntp,
select_timezone,
)
from .system_conf import select_driver, select_kernel, select_swap
from archinstall.lib.interactions.system_conf import select_driver, select_kernel, select_swap
__all__ = [
'add_number_of_parallel_downloads',

View File

@ -27,13 +27,11 @@ from archinstall.lib.models.device import (
Unit,
_DeviceInfo,
)
from archinstall.lib.output import debug
from archinstall.lib.output import FormattedOutput, debug
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..output import FormattedOutput
def select_devices(preset: list[BDevice] | None = []) -> list[BDevice] | None:
def _preview_device_selection(item: MenuItem) -> str | None:

View File

@ -2,15 +2,13 @@ import sys
from enum import Enum
from pathlib import Path
from archinstall.lib.locale.utils import list_timezones
from archinstall.lib.menu.helpers import Confirmation, Input, Selection
from archinstall.lib.translationhandler import tr
from archinstall.lib.output import warn
from archinstall.lib.translationhandler import Language, tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..locale.utils import list_timezones
from ..output import warn
from ..translationhandler import Language
class PostInstallationAction(Enum):
EXIT = tr('Exit archinstall')
@ -88,7 +86,7 @@ def select_timezone(preset: str | None = None) -> str | None:
def select_language(preset: str | None = None) -> str | None:
from ..locale.locale_menu import select_kb_layout
from archinstall.lib.locale.locale_menu import select_kb_layout
# We'll raise an exception in an upcoming version.
# from ..exceptions import Deprecated

View File

@ -1,13 +1,12 @@
from typing import assert_never
from archinstall.lib.hardware import GfxDriver, SysInfo
from archinstall.lib.menu.helpers import Confirmation, Selection
from archinstall.lib.models.application import ZramAlgorithm, ZramConfiguration
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..hardware import GfxDriver, SysInfo
def select_kernel(preset: list[str] = []) -> list[str]:
"""

View File

@ -1,4 +1,4 @@
from .utils import (
from archinstall.lib.locale.utils import (
list_keyboard_languages,
list_locales,
list_timezones,

View File

@ -1,14 +1,13 @@
from typing import override
from archinstall.lib.locale.utils import list_keyboard_languages, list_locales, set_kb_layout
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Selection
from archinstall.lib.models.locale import LocaleConfiguration
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..menu.abstract_menu import AbstractSubMenu
from ..models.locale import LocaleConfiguration
from .utils import list_keyboard_languages, list_locales, set_kb_layout
class LocaleMenu(AbstractSubMenu[LocaleConfiguration]):
def __init__(

View File

@ -1,9 +1,8 @@
from archinstall.lib.command import SysCommand
from archinstall.lib.exceptions import ServiceException, SysCallError
from archinstall.lib.output import error
from archinstall.lib.utils.util import running_from_host
from ..command import SysCommand
from ..exceptions import ServiceException, SysCallError
from ..output import error
def list_keyboard_languages() -> list[str]:
return (

View File

@ -4,15 +4,14 @@ from pathlib import Path
from subprocess import CalledProcessError
from types import TracebackType
from archinstall.lib.command import SysCommand, SysCommandWorker, run
from archinstall.lib.disk.utils import get_lsblk_info, umount
from archinstall.lib.exceptions import DiskError, SysCallError
from archinstall.lib.models.device import DEFAULT_ITER_TIME
from archinstall.lib.models.users import Password
from archinstall.lib.output import debug, info
from archinstall.lib.utils.util import generate_password
from .command import SysCommand, SysCommandWorker, run
from .exceptions import DiskError, SysCallError
from .models.users import Password
from .output import debug, info
@dataclass
class Luks2:

View File

@ -1,5 +1,5 @@
from .abstract_menu import AbstractMenu, AbstractSubMenu
from .list_manager import ListManager
from archinstall.lib.menu.abstract_menu import AbstractMenu, AbstractSubMenu
from archinstall.lib.menu.list_manager import ListManager
__all__ = [
'AbstractMenu',

View File

@ -2,13 +2,12 @@ from types import TracebackType
from typing import Any, Self
from archinstall.lib.menu.helpers import Selection
from archinstall.lib.output import error
from archinstall.lib.translationhandler import tr
from archinstall.tui.types import Chars
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..output import error
CONFIG_KEY = '__config__'

View File

@ -4,15 +4,7 @@ from typing import Any, Literal, TypeVar, override
from textual.validation import ValidationResult, Validator
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.components import (
InputScreen,
LoadingScreen,
NotifyScreen,
OptionListScreen,
SelectListScreen,
TableSelectionScreen,
tui,
)
from archinstall.tui.ui.components import InputScreen, LoadingScreen, NotifyScreen, OptionListScreen, SelectListScreen, TableSelectionScreen, tui
from archinstall.tui.ui.menu_item import MenuItemGroup
from archinstall.tui.ui.result import Result, ResultType

View File

@ -1,11 +1,10 @@
from pathlib import Path
from archinstall.lib.menu.helpers import Input
from archinstall.lib.models.users import Password
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.result import ResultType
from ..models.users import Password
def get_password(
header: str | None = None,

View File

@ -3,14 +3,10 @@ import urllib.parse
from pathlib import Path
from typing import override
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Input, Loading, Selection
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from .menu.abstract_menu import AbstractSubMenu
from .menu.list_manager import ListManager
from .models.mirrors import (
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.models.mirrors import (
CustomRepository,
CustomServer,
MirrorConfiguration,
@ -20,9 +16,12 @@ from .models.mirrors import (
SignCheck,
SignOption,
)
from .models.packages import Repository
from .networking import fetch_data_from_url
from .output import FormattedOutput, debug, info
from archinstall.lib.models.packages import Repository
from archinstall.lib.networking import fetch_data_from_url
from archinstall.lib.output import FormattedOutput, debug, info
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
class CustomMirrorRepositoriesList(ListManager[CustomRepository]):

View File

@ -1,6 +1,6 @@
from .application import ApplicationConfiguration, Audio, AudioConfiguration, BluetoothConfiguration, PrintServiceConfiguration
from .bootloader import Bootloader
from .device import (
from archinstall.lib.models.application import ApplicationConfiguration, Audio, AudioConfiguration, BluetoothConfiguration, PrintServiceConfiguration
from archinstall.lib.models.bootloader import Bootloader
from archinstall.lib.models.device import (
BDevice,
DeviceGeometry,
DeviceModification,
@ -27,12 +27,12 @@ from .device import (
Unit,
_DeviceInfo,
)
from .locale import LocaleConfiguration
from .mirrors import CustomRepository, MirrorConfiguration, MirrorRegion
from .network import NetworkConfiguration, Nic, NicType
from .packages import LocalPackage, PackageSearch, PackageSearchResult, Repository
from .profile import ProfileConfiguration
from .users import PasswordStrength, User
from archinstall.lib.models.locale import LocaleConfiguration
from archinstall.lib.models.mirrors import CustomRepository, MirrorConfiguration, MirrorRegion
from archinstall.lib.models.network import NetworkConfiguration, Nic, NicType
from archinstall.lib.models.packages import LocalPackage, PackageSearch, PackageSearchResult, Repository
from archinstall.lib.models.profile import ProfileConfiguration
from archinstall.lib.models.users import PasswordStrength, User
__all__ = [
'ApplicationConfiguration',

View File

@ -3,10 +3,9 @@ from dataclasses import dataclass
from enum import Enum
from typing import Any, Self
from archinstall.lib.output import warn
from archinstall.lib.translationhandler import tr
from ..output import warn
class Bootloader(Enum):
NO_BOOTLOADER = 'No bootloader'

View File

@ -13,12 +13,11 @@ import parted
from parted import Disk, Geometry, Partition
from pydantic import BaseModel, Field, ValidationInfo, field_serializer, field_validator
from archinstall.lib.hardware import SysInfo
from archinstall.lib.models.users import Password
from archinstall.lib.output import debug
from archinstall.lib.translationhandler import tr
from ..hardware import SysInfo
from ..models.users import Password
from ..output import debug
ENC_IDENTIFIER = 'ainst'
DEFAULT_ITER_TIME = 10000

View File

@ -1,10 +1,9 @@
from dataclasses import dataclass
from typing import Any, Self
from archinstall.lib.locale.utils import get_kb_layout
from archinstall.lib.translationhandler import tr
from ..locale.utils import get_kb_layout
@dataclass
class LocaleConfiguration:

View File

@ -11,12 +11,12 @@ from typing import TYPE_CHECKING, Any, Self, TypedDict, override
from pydantic import BaseModel, ValidationInfo, field_validator, model_validator
from ..models.packages import Repository
from ..networking import DownloadTimer, ping
from ..output import debug
from archinstall.lib.models.packages import Repository
from archinstall.lib.networking import DownloadTimer, ping
from archinstall.lib.output import debug
if TYPE_CHECKING:
from ..mirrors import MirrorListHandler
from archinstall.lib.mirrors import MirrorListHandler
class MirrorStatusEntryV3(BaseModel):

View File

@ -4,8 +4,7 @@ from dataclasses import dataclass
from typing import TYPE_CHECKING, Self, TypedDict
from archinstall.default_profiles.profile import GreeterType, Profile
from ..hardware import GfxDriver
from archinstall.lib.hardware import GfxDriver
if TYPE_CHECKING:
from archinstall.lib.profile.profiles_handler import ProfileSerialization
@ -24,7 +23,7 @@ class ProfileConfiguration:
greeter: GreeterType | None = None
def json(self) -> _ProfileConfigurationSerialization:
from ..profile.profiles_handler import profile_handler
from archinstall.lib.profile.profiles_handler import profile_handler
return {
'profile': profile_handler.to_json(self.profile),
@ -34,7 +33,7 @@ class ProfileConfiguration:
@classmethod
def parse_arg(cls, arg: _ProfileConfigurationSerialization) -> Self:
from ..profile.profiles_handler import profile_handler
from archinstall.lib.profile.profiles_handler import profile_handler
profile = profile_handler.parse_profile_config(arg['profile'])
greeter = arg.get('greeter', None)

View File

@ -2,10 +2,9 @@ from dataclasses import dataclass, field
from enum import Enum
from typing import NotRequired, Self, TypedDict, override
from archinstall.lib.crypt import crypt_yescrypt
from archinstall.lib.translationhandler import tr
from ..crypt import crypt_yescrypt
class PasswordStrength(Enum):
VERY_WEAK = 'very weak'

View File

@ -2,14 +2,13 @@ import ipaddress
from typing import assert_never, override
from archinstall.lib.menu.helpers import Input, Selection
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.models.network import NetworkConfiguration, Nic, NicType
from archinstall.lib.networking import list_interfaces
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..menu.list_manager import ListManager
from ..models.network import NetworkConfiguration, Nic, NicType
from ..networking import list_interfaces
class ManualNetworkConfig(ListManager[Nic]):
def __init__(self, prompt: str, preset: list[Nic]):

View File

@ -12,9 +12,9 @@ from urllib.error import URLError
from urllib.parse import urlencode
from urllib.request import urlopen
from .exceptions import DownloadTimeout, SysCallError
from .output import debug, error, info
from .pacman.pacman import Pacman
from archinstall.lib.exceptions import DownloadTimeout, SysCallError
from archinstall.lib.output import debug, error, info
from archinstall.lib.pacman.pacman import Pacman
class DownloadTimer:

View File

@ -8,7 +8,7 @@ from enum import Enum
from pathlib import Path
from typing import TYPE_CHECKING, Any
from .utils.encoding import unicode_ljust, unicode_rjust
from archinstall.lib.utils.encoding import unicode_ljust, unicode_rjust
if TYPE_CHECKING:
from _typeshed import DataclassInstance

View File

@ -1,15 +1,14 @@
from functools import lru_cache
from archinstall.lib.exceptions import SysCallError
from archinstall.lib.menu.helpers import Loading, Notify, Selection
from archinstall.lib.models.packages import AvailablePackage, LocalPackage, PackageGroup, Repository
from archinstall.lib.output import debug
from archinstall.lib.pacman.pacman import Pacman
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..exceptions import SysCallError
from ..output import debug
from ..pacman.pacman import Pacman
def installed_package(package: str) -> LocalPackage | None:
try:

View File

@ -1,9 +1,8 @@
from functools import lru_cache
from archinstall.lib.output import debug
from archinstall.lib.packages.packages import check_package_upgrade
from ..output import debug
@lru_cache(maxsize=128)
def check_version_upgrade() -> str | None:

View File

@ -2,7 +2,7 @@ import re
from pathlib import Path
from shutil import copy2
from ..models.packages import Repository
from archinstall.lib.models.packages import Repository
class PacmanConfig:

View File

@ -3,13 +3,12 @@ import time
from collections.abc import Callable
from pathlib import Path
from archinstall.lib.command import SysCommand
from archinstall.lib.exceptions import RequirementError
from archinstall.lib.output import error, info, warn
from archinstall.lib.plugins import plugins
from archinstall.lib.translationhandler import tr
from ..command import SysCommand
from ..exceptions import RequirementError
from ..output import error, info, warn
from ..plugins import plugins
class Pacman:
def __init__(self, target: Path, silent: bool = False):

View File

@ -7,7 +7,7 @@ import urllib.request
from importlib import metadata
from pathlib import Path
from .output import error, info, warn
from archinstall.lib.output import error, info, warn
plugins = {}
@ -94,7 +94,7 @@ def load_plugin(path: Path) -> None:
namespace = _import_via_path(localized)
if namespace and namespace in sys.modules:
from .args import arch_config_handler
from archinstall.lib.args import arch_config_handler
# Version dependency via __archinstall__version__ variable (if present) in the plugin
# Any errors in version inconsistency will be handled through normal error handling if not defined.

View File

@ -1,16 +1,15 @@
from typing import override
from archinstall.default_profiles.profile import GreeterType, Profile
from archinstall.lib.hardware import GfxDriver
from archinstall.lib.interactions.system_conf import select_driver
from archinstall.lib.menu.abstract_menu import AbstractSubMenu
from archinstall.lib.menu.helpers import Confirmation, Selection
from archinstall.lib.models.profile import ProfileConfiguration
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem, MenuItemGroup
from archinstall.tui.ui.result import ResultType
from ..hardware import GfxDriver
from ..interactions.system_conf import select_driver
from ..menu.abstract_menu import AbstractSubMenu
from ..models.profile import ProfileConfiguration
class ProfileMenu(AbstractSubMenu[ProfileConfiguration]):
def __init__(

View File

@ -9,16 +9,15 @@ from tempfile import NamedTemporaryFile
from types import ModuleType
from typing import TYPE_CHECKING, NotRequired, TypedDict
from archinstall.default_profiles.profile import GreeterType, Profile
from archinstall.lib.hardware import GfxDriver
from archinstall.lib.models.profile import ProfileConfiguration
from archinstall.lib.networking import fetch_data_from_url
from archinstall.lib.output import debug, error, info
from archinstall.lib.translationhandler import tr
from ...default_profiles.profile import GreeterType, Profile
from ..hardware import GfxDriver
from ..models.profile import ProfileConfiguration
from ..networking import fetch_data_from_url
from ..output import debug, error, info
if TYPE_CHECKING:
from ..installer import Installer
from archinstall.lib.installer import Installer
class ProfileSerialization(TypedDict):

View File

@ -2,14 +2,13 @@ import re
from typing import override
from archinstall.lib.menu.helpers import Confirmation, Input
from archinstall.lib.menu.list_manager import ListManager
from archinstall.lib.menu.util import get_password
from archinstall.lib.models.users import User
from archinstall.lib.translationhandler import tr
from archinstall.tui.ui.menu_item import MenuItem
from archinstall.tui.ui.result import ResultType
from ..menu.list_manager import ListManager
from ..menu.util import get_password
from ..models.users import User
class UserList(ListManager[User]):
def __init__(self, prompt: str, lusers: list[User]):

View File

@ -2,7 +2,7 @@ import secrets
import string
from pathlib import Path
from ..output import FormattedOutput
from archinstall.lib.output import FormattedOutput
def running_from_host() -> bool:

View File

@ -10,16 +10,15 @@ from pathlib import Path
from archinstall.lib.args import arch_config_handler
from archinstall.lib.disk.utils import disk_layouts
from archinstall.lib.hardware import SysInfo
from archinstall.lib.network.wifi_handler import WifiHandler
from archinstall.lib.networking import ping
from archinstall.lib.output import debug, error, info, warn
from archinstall.lib.packages.util import check_version_upgrade
from archinstall.lib.pacman.pacman import Pacman
from archinstall.lib.translationhandler import tr
from archinstall.lib.utils.util import running_from_host
from .lib.hardware import SysInfo
from .lib.output import debug, error, info, warn
from .lib.pacman.pacman import Pacman
from .lib.translationhandler import tr
def _log_sys_info() -> None:
# Log various information about hardware before starting the installation. This might assist in troubleshooting

View File

@ -14,10 +14,7 @@ from archinstall.lib.installer import Installer, accessibility_tools_in_use, run
from archinstall.lib.interactions.general_conf import PostInstallationAction, select_post_installation
from archinstall.lib.mirrors import MirrorListHandler
from archinstall.lib.models import Bootloader
from archinstall.lib.models.device import (
DiskLayoutType,
EncryptionType,
)
from archinstall.lib.models.device import DiskLayoutType, EncryptionType
from archinstall.lib.models.users import User
from archinstall.lib.network.network_handler import NetworkHandler
from archinstall.lib.output import debug, error, info

View File

@ -12,11 +12,10 @@ from types import FrameType, TracebackType
from typing import ClassVar, Literal, Self, override
from archinstall.lib.translationhandler import tr
from .help import Help
from .menu_item import MenuItem, MenuItemGroup, MenuItemsState
from .result import Result, ResultType
from .types import (
from archinstall.tui.help import Help
from archinstall.tui.menu_item import MenuItem, MenuItemGroup, MenuItemsState
from archinstall.tui.result import Result, ResultType
from archinstall.tui.types import (
SCROLL_INTERVAL,
STYLE,
Alignment,

View File

@ -5,8 +5,7 @@ from functools import cached_property
from typing import Any, ClassVar, Self, override
from archinstall.lib.translationhandler import tr
from ..lib.utils.encoding import unicode_ljust
from archinstall.lib.utils.encoding import unicode_ljust
@dataclass
@ -240,7 +239,7 @@ class MenuItemGroup:
if display_text:
text = f'{text}{spacing}{display_text}'
elif self._checkmarks:
from .types import Chars
from archinstall.tui.types import Chars
if item.has_value():
if item.get_value() is not False:

View File

@ -1,7 +1,7 @@
from dataclasses import dataclass
from enum import Enum, auto
from .menu_item import MenuItem
from archinstall.tui.menu_item import MenuItem
class ResultType(Enum):

View File

@ -180,6 +180,9 @@ indent-style = "tab"
quote-style = "single"
docstring-code-format = true
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.lint]
select = [
"ASYNC", # flake8-async
@ -210,6 +213,7 @@ select = [
"UP", # pyupgrade
"W", # pycodestyle warnings
"YTT", # flake8-2020
"TID", # flake8-tidy-imports (Enables TID252)
]
ignore = [