pyproject.toml: Enforce import annotations style

Add new ruff rules and fix their fallout:

  future-annotations = true

   select = [
    "TC",  # type-checking import placement rules
    "FA",  # future annotations rules
   ]

This comprises:

  - Streamline imports and exports in cmds.xxx.Cmd

    - Import base class as "Base"

    - Export types Cmd and Parent via __all__

  - Move all types imported only for annotation below TYPE_CHECKING

  - Use "from __future__ import annotations" all over the place

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-06-01 10:04:38 +02:00
commit 5d1ba6e15a
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61
77 changed files with 382 additions and 196 deletions

View file

@ -1,11 +1,15 @@
from argparse import ArgumentParser
from __future__ import annotations
from ..App import App
from .Cmd import Cmd as CmdBase
from typing import TYPE_CHECKING
class CmdSecrets(CmdBase): # export
from .Cmd import Cmd, Parent
def __init__(self, parent: App) -> None:
if TYPE_CHECKING:
from argparse import ArgumentParser
class CmdSecrets(Cmd): # export
def __init__(self, parent: Parent) -> None:
super().__init__(parent, 'secrets', help = 'Manage package secrets')
self.load_subcommands()