Source code for phenotypic.gui.builder
"""Dash + dash-cytoscape interactive ImagePipeline builder.
This subpackage provides a web-based node-graph editor for constructing
:class:`phenotypic.ImagePipeline` objects interactively. It is intended to
run on an HPCC head node and be reached from a workstation via SSH port
forwarding (``ssh -L 8050:localhost:8050 user@hpcc``).
Public API will be filled in by Phase 4 once :func:`create_app` exists.
"""
from __future__ import annotations
__all__ = ["create_app", "BuilderState"]
[docs]
def __getattr__(name: str): # noqa: D401 - lazy re-export
"""Lazily import builder objects to keep Dash off the import-time hot path."""
if name == "create_app":
from phenotypic.gui.builder._app import create_app
return create_app
if name == "BuilderState":
from phenotypic.gui.builder._state import BuilderState
return BuilderState
raise AttributeError(f"module 'phenotypic.gui.builder' has no attribute {name!r}")