From 0d1e1d979696ce9a40cfd660e92032fefc6bb290 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Mon, 30 Jun 2025 15:28:15 +0700 Subject: [PATCH] treefmt/ruff: Set python lint version to 3.13. Fix all new lints coming up. --- pkgs/clan-app/clan_app/api/file_gtk.py | 1 - pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py | 11 ++++++++--- pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py | 11 ----------- pkgs/clan-cli/clan_cli/vars/check.py | 5 ++--- pkgs/clan-cli/clan_lib/api/__init__.py | 4 ++-- pkgs/clan-cli/clan_lib/machines/delete.py | 5 ++++- pkgs/clan-cli/clan_lib/ssh/remote.py | 1 - pkgs/clan-cli/docs.py | 4 +--- pkgs/clan-cli/pyproject.toml | 5 ++++- pkgs/classgen/main.py | 1 - 10 files changed, 21 insertions(+), 27 deletions(-) delete mode 100644 pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py diff --git a/pkgs/clan-app/clan_app/api/file_gtk.py b/pkgs/clan-app/clan_app/api/file_gtk.py index aef9a06d7..d3deef616 100644 --- a/pkgs/clan-app/clan_app/api/file_gtk.py +++ b/pkgs/clan-app/clan_app/api/file_gtk.py @@ -1,4 +1,3 @@ -# ruff: noqa: N801 import gi gi.require_version("Gtk", "4.0") diff --git a/pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py b/pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py index fefd8a262..59667d2f3 100644 --- a/pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py +++ b/pkgs/clan-cli/clan_cli/tests/fixtures_flakes.py @@ -5,9 +5,9 @@ import shutil import subprocess as sp import tempfile from collections import defaultdict -from collections.abc import Callable, Iterator +from collections.abc import Iterator from pathlib import Path -from typing import Any, NamedTuple +from typing import NamedTuple import pytest from clan_cli.tests import age_keys @@ -38,7 +38,12 @@ def def_value() -> defaultdict: return defaultdict(def_value) -nested_dict: Callable[[], dict[str, Any]] = lambda: defaultdict(def_value) +def nested_dict() -> defaultdict: + """ + Creates a defaultdict that allows for arbitrary levels of nesting. + For example: d['a']['b']['c'] = value + """ + return defaultdict(def_value) # Substitutes strings in a file. diff --git a/pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py b/pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py deleted file mode 100644 index b922c6bf9..000000000 --- a/pkgs/clan-cli/clan_cli/tests/helpers/nixos_config.py +++ /dev/null @@ -1,11 +0,0 @@ -from collections import defaultdict -from collections.abc import Callable -from typing import Any - - -def def_value() -> defaultdict: - return defaultdict(def_value) - - -# allows defining nested dictionary in a single line -nested_dict: Callable[[], dict[str, Any]] = lambda: defaultdict(def_value) diff --git a/pkgs/clan-cli/clan_cli/vars/check.py b/pkgs/clan-cli/clan_cli/vars/check.py index e7087f73d..09f0dd0c9 100644 --- a/pkgs/clan-cli/clan_cli/vars/check.py +++ b/pkgs/clan-cli/clan_cli/vars/check.py @@ -4,14 +4,13 @@ import logging from clan_cli.completions import add_dynamic_completer, complete_machines from clan_lib.errors import ClanError from clan_lib.machines.machines import Machine - -log = logging.getLogger(__name__) - from typing import TYPE_CHECKING if TYPE_CHECKING: from .generate import Var +log = logging.getLogger(__name__) + class VarStatus: def __init__( diff --git a/pkgs/clan-cli/clan_lib/api/__init__.py b/pkgs/clan-cli/clan_lib/api/__init__.py index 789101f15..76c813936 100644 --- a/pkgs/clan-cli/clan_lib/api/__init__.py +++ b/pkgs/clan-cli/clan_lib/api/__init__.py @@ -16,14 +16,14 @@ from typing import ( ) from clan_lib.api.util import JSchemaTypeError +from clan_lib.errors import ClanError +from .serde import dataclass_to_dict, from_dict, sanitize_string log = logging.getLogger(__name__) -from .serde import dataclass_to_dict, from_dict, sanitize_string __all__ = ["dataclass_to_dict", "from_dict", "sanitize_string"] -from clan_lib.errors import ClanError T = TypeVar("T") diff --git a/pkgs/clan-cli/clan_lib/machines/delete.py b/pkgs/clan-cli/clan_lib/machines/delete.py index 29bf5c473..68f210cb8 100644 --- a/pkgs/clan-cli/clan_lib/machines/delete.py +++ b/pkgs/clan-cli/clan_lib/machines/delete.py @@ -42,7 +42,10 @@ def delete_machine(machine: Machine) -> None: # louis@(2025-02-04): clean-up legacy (pre-vars) secrets: sops_folder = sops_secrets_folder(machine.flake.path) - filter_fn = lambda secret_name: secret_name.startswith(f"{machine.name}-") + + def filter_fn(secret_name: str) -> bool: + return secret_name.startswith(f"{machine.name}-") + for secret_name in list_secrets(machine.flake.path, filter_fn): secret_path = sops_folder / secret_name changed_paths.append(secret_path) diff --git a/pkgs/clan-cli/clan_lib/ssh/remote.py b/pkgs/clan-cli/clan_lib/ssh/remote.py index de486d80f..8f4d4f8af 100644 --- a/pkgs/clan-cli/clan_lib/ssh/remote.py +++ b/pkgs/clan-cli/clan_lib/ssh/remote.py @@ -1,4 +1,3 @@ -# ruff: noqa: SLF001 import ipaddress import logging import os diff --git a/pkgs/clan-cli/docs.py b/pkgs/clan-cli/docs.py index 746fa9ed7..abd6aeadc 100644 --- a/pkgs/clan-cli/docs.py +++ b/pkgs/clan-cli/docs.py @@ -1,5 +1,6 @@ import argparse import sys +import re from dataclasses import dataclass from pathlib import Path @@ -118,9 +119,6 @@ def epilog_to_md(text: str) -> str: return md -import re - - def contains_https_link(line: str) -> bool: pattern = r"https://\S+" return re.search(pattern, line) is not None diff --git a/pkgs/clan-cli/pyproject.toml b/pkgs/clan-cli/pyproject.toml index 905caa974..c203368e0 100644 --- a/pkgs/clan-cli/pyproject.toml +++ b/pkgs/clan-cli/pyproject.toml @@ -49,9 +49,12 @@ filterwarnings = "default::ResourceWarning" python_files = ["test_*.py", "*_test.py"] [tool.mypy] -python_version = "3.12" +python_version = "3.13" warn_redundant_casts = true disallow_untyped_calls = true disallow_untyped_defs = true no_implicit_optional = true exclude = "clan_lib.nixpkgs" + +[tool.ruff] +target-version = "py313" \ No newline at end of file diff --git a/pkgs/classgen/main.py b/pkgs/classgen/main.py index 6eeab97b1..46cc22880 100644 --- a/pkgs/classgen/main.py +++ b/pkgs/classgen/main.py @@ -1,4 +1,3 @@ -# ruff: noqa: RUF001 import argparse import json import logging