From 8ad7c2b89aaffc0c0a7cda4644d008c7d541140f Mon Sep 17 00:00:00 2001 From: Qubasa Date: Wed, 17 Jul 2024 21:50:52 +0200 Subject: [PATCH] clan: Fix treefmt not applying mypy lints on clan_cli and clan_app --- formatter.nix | 14 ++++++++++---- pkgs/clan-app/pyproject.toml | 3 +++ pkgs/clan-cli/clan_cli/vars/generate.py | 4 +++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/formatter.nix b/formatter.nix index a709eb5f3..bee296b96 100644 --- a/formatter.nix +++ b/formatter.nix @@ -13,10 +13,16 @@ treefmt.programs.deadnix.enable = true; treefmt.programs.mypy.directories = { - "pkgs/clan-cli".extraPythonPackages = self'.packages.clan-cli.testDependencies; - "pkgs/clan-app".extraPythonPackages = - # clan-app currently only exists on linux - (self'.packages.clan-app.externalTestDeps or [ ]) ++ self'.packages.clan-cli.testDependencies; + "pkgs/clan-cli" = { + extraPythonPackages = self'.packages.clan-cli.testDependencies; + modules = [ "clan_cli" ]; + }; + "pkgs/clan-app" = { + extraPythonPackages = + # clan-app currently only exists on linux + (self'.packages.clan-app.externalTestDeps or [ ]) ++ self'.packages.clan-cli.testDependencies; + modules = [ "clan_app" ]; + }; }; treefmt.programs.ruff.check = true; treefmt.programs.ruff.format = true; diff --git a/pkgs/clan-app/pyproject.toml b/pkgs/clan-app/pyproject.toml index 55a19ec08..1502af61f 100644 --- a/pkgs/clan-app/pyproject.toml +++ b/pkgs/clan-app/pyproject.toml @@ -40,6 +40,9 @@ no_implicit_optional = true module = "argcomplete.*" ignore_missing_imports = true +[[tool.mypy.overrides]] +module = "clan_cli.*" +ignore_missing_imports = true [tool.ruff] target-version = "py312" diff --git a/pkgs/clan-cli/clan_cli/vars/generate.py b/pkgs/clan-cli/clan_cli/vars/generate.py index 6cd86163d..fee3c5b68 100644 --- a/pkgs/clan-cli/clan_cli/vars/generate.py +++ b/pkgs/clan-cli/clan_cli/vars/generate.py @@ -8,6 +8,7 @@ from collections.abc import Callable from graphlib import TopologicalSorter from pathlib import Path from tempfile import TemporaryDirectory +from typing import Any from clan_cli.cmd import run @@ -71,7 +72,7 @@ def decrypt_dependencies( ) -> dict[str, dict[str, bytes]]: generator = machine.vars_generators[generator_name] dependencies = set(generator["dependencies"]) - decrypted_dependencies = {} + decrypted_dependencies: dict[str, Any] = {} for dep_generator in dependencies: decrypted_dependencies[dep_generator] = {} dep_files = machine.vars_generators[dep_generator]["files"] @@ -242,6 +243,7 @@ def _generate_vars_for_machine( # process generators in topological order sorter = TopologicalSorter(graph) for generator_name in sorter.static_order(): + assert generator_name is not None machine_updated |= execute_generator( machine=machine, generator_name=generator_name,