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:
@@ -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
|
||||
Reference in New Issue
Block a user