SmokeScan / ui /tabs /__init__.py
KinetoLabs's picture
Frontend simplification (4→2 tabs) + lazy imports for HF Spaces
78caafb
"""Tab modules for FDAM AI Pipeline UI.
Simplified 2-tab structure:
- input_tab: Combined room, images, and observations
- results_tab: Results display with chat interface
Legacy modules (room, images, observations, results) available but not pre-imported
to avoid triggering heavy dependencies (chromadb, etc.) during local development.
"""
# Only import the new simplified tabs by default
from . import input_tab
from . import results_tab
__all__ = [
# New simplified tabs (always available)
"input_tab",
"results_tab",
]
def __getattr__(name):
"""Lazy import legacy modules only when accessed."""
if name == "room":
from . import room
return room
elif name == "images":
from . import images
return images
elif name == "observations":
from . import observations
return observations
elif name == "results":
from . import results
return results
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")