Initial commit: Shelly Manager with Textual CLI, Streamlit UI, and comprehensive .gitignore

Shelly device management app with mDNS/subnet discovery, inventory,
configuration, and mass operations for Gen1/Gen2+ devices.

Includes .gitignore excluding runtime data (device DB, user config),
AI conversation history, build artifacts, and common Python/OS patterns.
This commit is contained in:
2026-03-23 21:51:59 +01:00
commit 71803418e5
152 changed files with 23405 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
"""Guard against circular imports (e.g. api.client ↔ core.device_manager)."""
from __future__ import annotations
import importlib
def test_mass_config_page_imports_cleanly() -> None:
"""Importing the Mass Config page must not hit partially initialized api.client."""
importlib.import_module("shelly_manager.ui.pages.3_Mass_Config")
def test_core_package_lazy_device_manager() -> None:
"""DeviceManager is available via lazy attribute without eager import cycle."""
import shelly_manager.core as core
assert core.DeviceManager is not None