make all same-module imports relative, the rest absolute

This makes sorting more consitent.
This commit is contained in:
Jörg Thalheim
2024-09-02 12:55:07 +02:00
parent 34992d5519
commit af4b9cc2d5
56 changed files with 196 additions and 185 deletions

View File

@@ -5,9 +5,9 @@ from pathlib import Path
from types import ModuleType
# These imports are unused, but necessary for @API.register to run once.
from clan_cli.api import admin, directory, disk, mdns_discovery, modules
from clan_cli.arg_actions import AppendOptionAction
from clan_cli.clan import show, update
from .api import admin, directory, disk, mdns_discovery, modules
from .arg_actions import AppendOptionAction
from .clan import show, update
# API endpoints that are not used in the cli.
__all__ = ["directory", "mdns_discovery", "modules", "update", "disk", "admin"]

View File

@@ -152,7 +152,7 @@ API.register(open_file)
def to_json_schema(self) -> dict[str, Any]:
from typing import get_type_hints
from clan_cli.api.util import type_to_dict
from .util import type_to_dict
api_schema: dict[str, Any] = {
"$comment": "An object containing API methods. ",

View File

@@ -1,4 +1,3 @@
from clan_cli.api import API
from clan_cli.inventory import (
AdminConfig,
ServiceAdmin,
@@ -9,6 +8,8 @@ from clan_cli.inventory import (
save_inventory,
)
from . import API
@API.register
def get_admin_service(base_url: str) -> ServiceAdmin | None:

View File

@@ -3,7 +3,7 @@
import argparse
import json
from clan_cli.api import API
from . import API
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Debug the API.")

View File

@@ -1,4 +1,3 @@
from clan_cli.api import API
from clan_cli.inventory import (
ServiceMeta,
ServiceSingleDisk,
@@ -10,6 +9,8 @@ from clan_cli.inventory import (
save_inventory,
)
from . import API
def get_instance_name(machine_name: str) -> str:
return f"{machine_name}-single-disk"

View File

@@ -2,13 +2,13 @@ import argparse
import json
import logging
from ..completions import (
from clan_cli.completions import (
add_dynamic_completer,
complete_backup_providers_for_machine,
complete_machines,
)
from ..errors import ClanError
from ..machines.machines import Machine
from clan_cli.errors import ClanError
from clan_cli.machines.machines import Machine
log = logging.getLogger(__name__)

View File

@@ -3,13 +3,13 @@ import json
import subprocess
from dataclasses import dataclass
from ..completions import (
from clan_cli.completions import (
add_dynamic_completer,
complete_backup_providers_for_machine,
complete_machines,
)
from ..errors import ClanError
from ..machines.machines import Machine
from clan_cli.errors import ClanError
from clan_cli.machines.machines import Machine
@dataclass

View File

@@ -2,13 +2,13 @@ import argparse
import json
import subprocess
from ..completions import (
from clan_cli.completions import (
add_dynamic_completer,
complete_backup_providers_for_machine,
complete_machines,
)
from ..errors import ClanError
from ..machines.machines import Machine
from clan_cli.errors import ClanError
from clan_cli.machines.machines import Machine
def restore_service(machine: Machine, name: str, provider: str, service: str) -> None:

View File

@@ -5,12 +5,11 @@ from dataclasses import dataclass
from pathlib import Path
from clan_cli.api import API
from clan_cli.cmd import CmdOut, run
from clan_cli.dirs import clan_templates
from clan_cli.errors import ClanError
from clan_cli.inventory import Inventory, init_inventory
from ..cmd import CmdOut, run
from ..dirs import clan_templates
from ..errors import ClanError
from ..nix import nix_command, nix_shell
from clan_cli.nix import nix_command, nix_shell
@dataclass

View File

@@ -2,14 +2,20 @@ import argparse
from dataclasses import dataclass
from pathlib import Path
from ..clan_uri import FlakeId
from ..cmd import run
from ..dirs import machine_gcroot
from ..errors import ClanError
from ..machines.list import list_nixos_machines
from ..machines.machines import Machine
from ..nix import nix_add_to_gcroots, nix_build, nix_config, nix_eval, nix_metadata
from ..vms.inspect import VmConfig, inspect_vm
from clan_cli.clan_uri import FlakeId
from clan_cli.cmd import run
from clan_cli.dirs import machine_gcroot
from clan_cli.errors import ClanError
from clan_cli.machines.list import list_nixos_machines
from clan_cli.machines.machines import Machine
from clan_cli.nix import (
nix_add_to_gcroots,
nix_build,
nix_config,
nix_eval,
nix_metadata,
)
from clan_cli.vms.inspect import VmConfig, inspect_vm
@dataclass

View File

@@ -5,11 +5,10 @@ from pathlib import Path
from urllib.parse import urlparse
from clan_cli.api import API
from clan_cli.cmd import run_no_stdout
from clan_cli.errors import ClanCmdError, ClanError
from clan_cli.inventory import Meta
from ..cmd import run_no_stdout
from ..nix import nix_eval
from clan_cli.nix import nix_eval
log = logging.getLogger(__name__)

View File

@@ -2,9 +2,9 @@ import json
from pathlib import Path
from typing import Any
from ..cmd import run
from ..errors import ClanError
from ..nix import nix_eval
from clan_cli.cmd import run
from clan_cli.errors import ClanError
from clan_cli.nix import nix_eval
script_dir = Path(__file__).parent

View File

@@ -1,7 +1,8 @@
# !/usr/bin/env python3
import argparse
from ..hyperlink import help_hyperlink
from clan_cli.hyperlink import help_hyperlink
from .check import register_check_parser
from .generate import register_generate_parser
from .list import register_list_parser

View File

@@ -2,8 +2,8 @@ import argparse
import importlib
import logging
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
log = logging.getLogger(__name__)

View File

@@ -9,17 +9,17 @@ from pathlib import Path
from tempfile import TemporaryDirectory
from clan_cli.cmd import run
from ..completions import (
from clan_cli.completions import (
add_dynamic_completer,
complete_machines,
complete_services_for_machine,
)
from ..errors import ClanError
from ..git import commit_files
from ..machines.inventory import get_all_machines, get_selected_machines
from ..machines.machines import Machine
from ..nix import nix_shell
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from clan_cli.machines.inventory import get_all_machines, get_selected_machines
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from .check import check_secrets
from .public_modules import FactStoreBase
from .secret_modules import SecretStoreBase

View File

@@ -3,8 +3,8 @@ import importlib
import json
import logging
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
log = logging.getLogger(__name__)

View File

@@ -4,10 +4,10 @@ import logging
from pathlib import Path
from tempfile import TemporaryDirectory
from ..cmd import Log, run
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from ..nix import nix_shell
from clan_cli.cmd import Log, run
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
log = logging.getLogger(__name__)

View File

@@ -11,8 +11,7 @@ from pathlib import Path
from tempfile import TemporaryDirectory
from typing import Any
from clan_cli.api import API
from .api import API
from .clan_uri import FlakeId
from .cmd import Log, run
from .completions import add_dynamic_completer, complete_machines

View File

@@ -1,11 +1,9 @@
from pathlib import Path
# from clan_cli.dirs import find_git_repo_root
from clan_cli.errors import ClanError
from clan_cli.nix import run_cmd
from .cmd import Log, run
from .errors import ClanError
from .locked_open import locked_open
from .nix import run_cmd
def commit_file(

View File

@@ -7,13 +7,12 @@ import logging
from typing import Any
from clan_cli.clan.inspect import FlakeConfig, inspect_flake
from clan_cli.clan_uri import ClanURI
from clan_cli.dirs import user_history_file
from clan_cli.errors import ClanError
from clan_cli.locked_open import read_history_file, write_history_file
from clan_cli.machines.list import list_nixos_machines
from ..clan_uri import ClanURI
from ..dirs import user_history_file
from ..errors import ClanError
from ..locked_open import read_history_file, write_history_file
log = logging.getLogger(__name__)

View File

@@ -3,11 +3,11 @@ import argparse
import datetime
from clan_cli.clan.inspect import inspect_flake
from clan_cli.clan_uri import ClanURI
from clan_cli.errors import ClanCmdError
from clan_cli.locked_open import write_history_file
from clan_cli.nix import nix_metadata
from ..clan_uri import ClanURI
from ..errors import ClanCmdError
from ..locked_open import write_history_file
from ..nix import nix_metadata
from .add import HistoryEntry, list_history

View File

@@ -16,11 +16,11 @@ import json
from pathlib import Path
from clan_cli.api import API, dataclass_to_dict, from_dict
from clan_cli.cmd import run_no_stdout
from clan_cli.errors import ClanCmdError, ClanError
from clan_cli.git import commit_file
from clan_cli.nix import nix_eval
from ..cmd import run_no_stdout
from ..nix import nix_eval
from .classes import (
AdminConfig,
Inventory,

View File

@@ -5,9 +5,8 @@ from contextlib import contextmanager
from pathlib import Path
from typing import Any
from clan_cli.jsonrpc import ClanJSONEncoder
from .dirs import user_history_file
from .jsonrpc import ClanJSONEncoder
@contextmanager

View File

@@ -2,10 +2,10 @@ import argparse
import logging
import re
from ..api import API
from ..clan_uri import FlakeId
from ..errors import ClanError
from ..inventory import (
from clan_cli.api import API
from clan_cli.clan_uri import FlakeId
from clan_cli.errors import ClanError
from clan_cli.inventory import (
Machine,
MachineDeploy,
load_inventory_eval,

View File

@@ -1,12 +1,12 @@
import argparse
import shutil
from ..api import API
from ..clan_uri import FlakeId
from ..completions import add_dynamic_completer, complete_machines
from ..dirs import specific_machine_dir
from ..errors import ClanError
from ..inventory import load_inventory_json, save_inventory
from clan_cli.api import API
from clan_cli.clan_uri import FlakeId
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.dirs import specific_machine_dir
from clan_cli.errors import ClanError
from clan_cli.inventory import load_inventory_json, save_inventory
@API.register

View File

@@ -1,6 +1,6 @@
from pathlib import Path
from ..dirs import specific_machine_dir
from clan_cli.dirs import specific_machine_dir
def machine_has_fact(flake_dir: Path, machine: str, fact: str) -> bool:

View File

@@ -7,13 +7,13 @@ from typing import Literal
from clan_cli.api import API
from clan_cli.clan_uri import FlakeId
from clan_cli.cmd import run, run_no_stdout
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.errors import ClanCmdError, ClanError
from clan_cli.git import commit_file
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_config, nix_eval, nix_shell
from ..cmd import run, run_no_stdout
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from ..nix import nix_config, nix_eval, nix_shell
from .types import machine_name_type
log = logging.getLogger(__name__)

View File

@@ -8,14 +8,13 @@ from pathlib import Path
from tempfile import TemporaryDirectory
from clan_cli.api import API
from ..clan_uri import FlakeId
from ..cmd import Log, run
from ..completions import add_dynamic_completer, complete_machines
from ..facts.generate import generate_facts
from ..machines.machines import Machine
from ..nix import nix_shell
from ..ssh.cli import is_ipv6, is_reachable, qrcode_scan
from clan_cli.clan_uri import FlakeId
from clan_cli.cmd import Log, run
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.facts.generate import generate_facts
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from clan_cli.ssh.cli import is_ipv6, is_reachable, qrcode_scan
log = logging.getLogger(__name__)

View File

@@ -1,9 +1,10 @@
import json
from pathlib import Path
from ..clan_uri import FlakeId
from ..cmd import run
from ..nix import nix_build, nix_config
from clan_cli.clan_uri import FlakeId
from clan_cli.cmd import run
from clan_cli.nix import nix_build, nix_config
from .machines import Machine

View File

@@ -1,7 +1,8 @@
from collections.abc import Callable
from typing import TypeVar
from ..ssh import Host, HostGroup, HostResult
from clan_cli.ssh import Host, HostGroup, HostResult
from .machines import Machine
T = TypeVar("T")

View File

@@ -6,11 +6,10 @@ from tempfile import NamedTemporaryFile
from typing import Any
from clan_cli.clan_uri import FlakeId
from ..cmd import run_no_stdout
from ..errors import ClanError
from ..nix import nix_build, nix_config, nix_eval, nix_metadata
from ..ssh import Host, parse_deployment_address
from clan_cli.cmd import run_no_stdout
from clan_cli.errors import ClanError
from clan_cli.nix import nix_build, nix_config, nix_eval, nix_metadata
from clan_cli.ssh import Host, parse_deployment_address
log = logging.getLogger(__name__)

View File

@@ -7,17 +7,17 @@ import sys
from clan_cli.api import API
from clan_cli.clan_uri import FlakeId
from clan_cli.cmd import run
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.errors import ClanError
from clan_cli.facts.generate import generate_facts
from clan_cli.facts.upload import upload_secrets
from clan_cli.inventory import Machine as InventoryMachine
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_command, nix_metadata
from clan_cli.ssh import HostKeyCheck
from clan_cli.vars.generate import generate_vars
from ..cmd import run
from ..completions import add_dynamic_completer, complete_machines
from ..errors import ClanError
from ..facts.generate import generate_facts
from ..facts.upload import upload_secrets
from ..inventory import Machine as InventoryMachine
from ..machines.machines import Machine
from ..nix import nix_command, nix_metadata
from ..ssh import HostKeyCheck
from ..vars.generate import generate_vars
from .inventory import get_all_machines, get_selected_machines
from .machine_group import MachineGroup

View File

@@ -4,8 +4,8 @@ import tempfile
from pathlib import Path
from typing import Any
from ..cmd import run, run_no_stdout
from ..dirs import nixpkgs_flake, nixpkgs_source
from clan_cli.cmd import run, run_no_stdout
from clan_cli.dirs import nixpkgs_flake, nixpkgs_source
def nix_command(flags: list[str]) -> list[str]:

View File

@@ -3,7 +3,7 @@ import shutil
from collections.abc import Callable
from pathlib import Path
from ..errors import ClanError
from clan_cli.errors import ClanError
def get_sops_folder(flake_dir: Path) -> Path:

View File

@@ -2,17 +2,17 @@ import argparse
import os
from pathlib import Path
from clan_cli.git import commit_files
from ..completions import (
from clan_cli.completions import (
add_dynamic_completer,
complete_groups,
complete_machines,
complete_secrets,
complete_users,
)
from ..errors import ClanError
from ..machines.types import machine_name_type, validate_hostname
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from clan_cli.machines.types import machine_name_type, validate_hostname
from . import secrets
from .folders import (
sops_groups_folder,

View File

@@ -3,15 +3,16 @@ import json
import sys
from pathlib import Path
from ..cmd import run
from ..completions import (
from clan_cli.cmd import run
from clan_cli.completions import (
add_dynamic_completer,
complete_groups,
complete_machines,
complete_users,
)
from ..errors import ClanError
from ..nix import nix_shell
from clan_cli.errors import ClanError
from clan_cli.nix import nix_shell
from .secrets import encrypt_secret, sops_secrets_folder

View File

@@ -2,9 +2,9 @@ import argparse
import logging
from pathlib import Path
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from ..errors import ClanError
from .secrets import update_secrets
from .sops import default_sops_key_path, generate_private_key, get_public_key

View File

@@ -1,10 +1,15 @@
import argparse
from pathlib import Path
from ..completions import add_dynamic_completer, complete_machines, complete_secrets
from ..errors import ClanError
from ..git import commit_files
from ..machines.types import machine_name_type, validate_hostname
from clan_cli.completions import (
add_dynamic_completer,
complete_machines,
complete_secrets,
)
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from clan_cli.machines.types import machine_name_type, validate_hostname
from . import secrets
from .folders import (
list_objects,

View File

@@ -8,17 +8,18 @@ from dataclasses import dataclass
from pathlib import Path
from typing import IO
from .. import tty
from ..clan_uri import FlakeId
from ..completions import (
from clan_cli import tty
from clan_cli.clan_uri import FlakeId
from clan_cli.completions import (
add_dynamic_completer,
complete_groups,
complete_machines,
complete_secrets,
complete_users,
)
from ..errors import ClanError
from ..git import commit_files
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from .folders import (
list_objects,
sops_groups_folder,

View File

@@ -9,10 +9,11 @@ from pathlib import Path
from tempfile import NamedTemporaryFile
from typing import IO
from ..cmd import Log, run
from ..dirs import user_config_dir
from ..errors import ClanError
from ..nix import nix_shell
from clan_cli.cmd import Log, run
from clan_cli.dirs import user_config_dir
from clan_cli.errors import ClanError
from clan_cli.nix import nix_shell
from .folders import sops_machines_folder, sops_users_folder

View File

@@ -4,7 +4,8 @@ import re
from collections.abc import Callable
from pathlib import Path
from ..errors import ClanError
from clan_cli.errors import ClanError
from .sops import get_public_key
VALID_SECRET_NAME = re.compile(r"^[a-zA-Z0-9._-]+$")

View File

@@ -1,13 +1,10 @@
import argparse
from pathlib import Path
from ..completions import (
add_dynamic_completer,
complete_secrets,
complete_users,
)
from ..errors import ClanError
from ..git import commit_files
from clan_cli.completions import add_dynamic_completer, complete_secrets, complete_users
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from . import secrets
from .folders import list_objects, remove_object, sops_secrets_folder, sops_users_folder
from .secrets import update_secrets

View File

@@ -18,7 +18,7 @@ from shlex import quote
from threading import Thread
from typing import IO, Any, Generic, TypeVar
from ..errors import ClanError
from clan_cli.errors import ClanError
# https://no-color.org
DISABLE_COLOR = not sys.stderr.isatty() or os.environ.get("NO_COLOR", "") != ""

View File

@@ -6,7 +6,7 @@ import socket
import subprocess
from pathlib import Path
from ..nix import nix_shell
from clan_cli.nix import nix_shell
log = logging.getLogger(__name__)

View File

@@ -3,15 +3,15 @@ import json
import logging
from pathlib import Path
from ..cmd import run_no_stdout
from ..completions import (
from clan_cli.cmd import run_no_stdout
from clan_cli.completions import (
add_dynamic_completer,
complete_machines,
complete_state_services_for_machine,
)
from ..dirs import get_clan_flake_toplevel_or_env
from ..errors import ClanCmdError, ClanError
from ..nix import nix_eval
from clan_cli.dirs import get_clan_flake_toplevel_or_env
from clan_cli.errors import ClanCmdError, ClanError
from clan_cli.nix import nix_eval
log = logging.getLogger(__name__)

View File

@@ -1,7 +1,8 @@
# !/usr/bin/env python3
import argparse
from ..hyperlink import help_hyperlink
from clan_cli.hyperlink import help_hyperlink
from .check import register_check_parser
from .generate import register_generate_parser
from .list import register_list_parser

View File

@@ -2,8 +2,8 @@ import argparse
import importlib
import logging
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
log = logging.getLogger(__name__)

View File

@@ -10,17 +10,17 @@ from tempfile import TemporaryDirectory
from typing import Any
from clan_cli.cmd import run
from ..completions import (
from clan_cli.completions import (
add_dynamic_completer,
complete_machines,
complete_services_for_machine,
)
from ..errors import ClanError
from ..git import commit_files
from ..machines.inventory import get_all_machines, get_selected_machines
from ..machines.machines import Machine
from ..nix import nix_shell
from clan_cli.errors import ClanError
from clan_cli.git import commit_files
from clan_cli.machines.inventory import get_all_machines, get_selected_machines
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from .check import check_vars
from .public_modules import FactStoreBase
from .secret_modules import SecretStoreBase

View File

@@ -2,8 +2,9 @@ import argparse
import importlib
import logging
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
from ._types import Var
log = logging.getLogger(__name__)

View File

@@ -4,10 +4,10 @@ import logging
from pathlib import Path
from tempfile import TemporaryDirectory
from ..cmd import Log, run
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from ..nix import nix_shell
from clan_cli.cmd import Log, run
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
log = logging.getLogger(__name__)

View File

@@ -3,9 +3,9 @@ import json
from dataclasses import dataclass
from pathlib import Path
from ..clan_uri import FlakeId
from ..completions import add_dynamic_completer, complete_machines
from ..machines.machines import Machine
from clan_cli.clan_uri import FlakeId
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
@dataclass

View File

@@ -5,9 +5,9 @@ from contextlib import contextmanager
from dataclasses import dataclass
from pathlib import Path
from clan_cli.errors import ClanError
from clan_cli.qemu.qmp import QEMUMonitorProtocol
from ..errors import ClanError
from .inspect import VmConfig

View File

@@ -7,13 +7,14 @@ from contextlib import ExitStack
from pathlib import Path
from tempfile import TemporaryDirectory
from ..cmd import Log, run
from ..completions import add_dynamic_completer, complete_machines
from ..dirs import module_root, user_cache_dir, vm_state_dir
from ..errors import ClanError
from ..facts.generate import generate_facts
from ..machines.machines import Machine
from ..nix import nix_shell
from clan_cli.cmd import Log, run
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.dirs import module_root, user_cache_dir, vm_state_dir
from clan_cli.errors import ClanError
from clan_cli.facts.generate import generate_facts
from clan_cli.machines.machines import Machine
from clan_cli.nix import nix_shell
from .inspect import VmConfig, inspect_vm
from .qemu import qemu_command
from .virtiofsd import start_virtiofsd

View File

@@ -5,8 +5,8 @@ import time
from collections.abc import Iterator
from pathlib import Path
from ..errors import ClanError
from ..nix import nix_shell
from clan_cli.errors import ClanError
from clan_cli.nix import nix_shell
@contextlib.contextmanager

View File

@@ -4,8 +4,8 @@ import subprocess
import time
from collections.abc import Iterator
from ..errors import ClanError
from ..nix import nix_shell
from clan_cli.errors import ClanError
from clan_cli.nix import nix_shell
VMADDR_CID_HYPERVISOR = 2

View File

@@ -67,5 +67,5 @@ ignore_missing_imports = true
[tool.ruff]
target-version = "py311"
line-length = 88
lint.select = [ "E", "F", "I", "U", "N", "RUF", "ANN", "A" ]
lint.select = [ "E", "F", "I", "U", "N", "RUF", "ANN", "A", "TID" ]
lint.ignore = ["E501", "E402", "E731", "ANN101", "ANN401", "A003"]