refactor(types): PEP-604 union sweep + UP007/UP045 enforcement
ruff --select UP007,UP045 --fix converted ~1760 sites across the backend: `Optional[T]` → `T | None`, `Union[X, Y]` → `X | Y`. The remaining module-level alias targets that ruff conservatively skips (BindableFloatInput, ColorList, DeviceConfig) were converted by hand earlier in the pass. black -formatted the result so the wider unions fit cleanly under the 100-char line budget. pyproject.toml now sets [tool.ruff.lint] extend-select = ["UP007", "UP045"] so future legacy imports fire CI on every push. The pre-commit ruff hook was bumped from v0.8.0 -> v0.15.12 to recognise UP045 (split off from UP007 in v0.13).
This commit is contained in:
@@ -9,7 +9,6 @@ from ledgrab.core.capture.edge_interpolation import (
|
||||
fallback_edge_to_leds,
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# average_edge_to_leds
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -17,7 +17,6 @@ from ledgrab.core.processing.effect_stream import (
|
||||
_effect_renderer,
|
||||
)
|
||||
|
||||
|
||||
EXPECTED_EFFECTS = frozenset(
|
||||
{
|
||||
"fire",
|
||||
|
||||
@@ -21,7 +21,6 @@ from ledgrab.core.processing.metric_readers import (
|
||||
get_spec,
|
||||
)
|
||||
|
||||
|
||||
EXPECTED_METRICS = {
|
||||
"cpu_load",
|
||||
"ram_usage",
|
||||
|
||||
@@ -13,7 +13,6 @@ import ledgrab.core.audio.filters # noqa: F401
|
||||
|
||||
from ledgrab.core.filters.filter_instance import FilterInstance
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Helpers
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -17,7 +17,6 @@ from ledgrab.storage.automation import (
|
||||
)
|
||||
from ledgrab.storage.automation_store import AutomationStore
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Fixtures
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -27,7 +27,6 @@ from ledgrab.storage.automation import (
|
||||
WebhookRule,
|
||||
)
|
||||
|
||||
|
||||
EXPECTED_RULE_TYPES = {
|
||||
StartupRule,
|
||||
ApplicationRule,
|
||||
|
||||
@@ -4,7 +4,6 @@ import pytest
|
||||
|
||||
from ledgrab.core.game_integration.adapters.cs2_adapter import CS2Adapter
|
||||
|
||||
|
||||
# ── Realistic CS2 GSI payload samples ────────────────────────────────────
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ from ledgrab.storage.color_strip_source import (
|
||||
GameEventColorStripSource,
|
||||
)
|
||||
|
||||
|
||||
# ── Helpers ──────────────────────────────────────────────────────────
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ from ledgrab.storage.value_source import (
|
||||
ValueSource,
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# GameEventValueSource model tests (Task 5)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
import asyncio
|
||||
from dataclasses import dataclass
|
||||
from typing import Any, Dict, List, Optional, Tuple
|
||||
from typing import Any, Dict, List, Tuple
|
||||
|
||||
import numpy as np
|
||||
import pytest
|
||||
@@ -12,7 +12,6 @@ from ledgrab.core.processing.target_processor import TargetContext
|
||||
from ledgrab.storage.bindable import BindableFloat
|
||||
from ledgrab.storage.ha_light_output_target import HALightMapping
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Test doubles
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -115,9 +114,9 @@ class _FakeCSSManager:
|
||||
|
||||
def _make_ctx(
|
||||
*,
|
||||
ha_manager: Optional[_FakeHAManager] = None,
|
||||
css_manager: Optional[_FakeCSSManager] = None,
|
||||
vs_manager: Optional[_FakeVSManager] = None,
|
||||
ha_manager: _FakeHAManager | None = None,
|
||||
css_manager: _FakeCSSManager | None = None,
|
||||
vs_manager: _FakeVSManager | None = None,
|
||||
) -> TargetContext:
|
||||
return TargetContext(
|
||||
live_stream_manager=None, # type: ignore[arg-type]
|
||||
|
||||
@@ -11,7 +11,6 @@ from ledgrab.core.game_integration.mapping_adapter import (
|
||||
validate_adapter_yaml,
|
||||
)
|
||||
|
||||
|
||||
# ── YAML validation tests ───────────────────────────────────────────────
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user