diff --git a/pyproject.toml b/pyproject.toml index b153d4b..7548bc8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -85,6 +85,7 @@ ignore = [ "SIM115", # allow open without context handler "SIM116", # allow if-else instead of dict lookup "B018", # allow useless expression (standalone identifiers) + "TC004", # allow imports in TYPE_CHECKING block (circular import prevention) ] [tool.ruff.lint.isort] diff --git a/src/window/dock/animator.py b/src/window/dock/animator.py index d574065..052b40a 100644 --- a/src/window/dock/animator.py +++ b/src/window/dock/animator.py @@ -1,11 +1,13 @@ -from typing import Optional +from typing import TYPE_CHECKING, Optional from fabric.utils import GLib -from .canvas import DockCanvas from .constants import ANIM_INTERVAL_MS, IDLE_THRESHOLD, LERP_FACTOR from .layout import DockLayout +if TYPE_CHECKING: + from .canvas import DockCanvas + class DockAnimator: def __init__(self, canvas: DockCanvas): diff --git a/src/window/dock/layout.py b/src/window/dock/layout.py index 9f4e101..283dcb2 100644 --- a/src/window/dock/layout.py +++ b/src/window/dock/layout.py @@ -1,7 +1,6 @@ import math -from typing import List, Tuple +from typing import TYPE_CHECKING, List, Tuple -from .canvas import DockItem from .constants import ( BG_PADDING_H, BG_PADDING_V, @@ -12,6 +11,9 @@ from .constants import ( SIGMA_FACTOR, ) +if TYPE_CHECKING: + from .canvas import DockItem + class DockLayout: @staticmethod