Skip to content

base

ipw.visualization.base

Core contracts for visualization plugins.

VisualizationContext dataclass

Common inputs made available to visualization plugins.

Source code in intelligence-per-watt/src/ipw/visualization/base.py
@dataclass(slots=True, frozen=True)
class VisualizationContext:
    """Common inputs made available to visualization plugins."""

    results_dir: Path
    output_dir: Path
    options: Mapping[str, Any] = field(default_factory=dict)

    def __post_init__(self) -> None:
        object.__setattr__(self, "options", _freeze_mapping(self.options))

VisualizationResult dataclass

Standardized payload returned by visualization plugins.

Source code in intelligence-per-watt/src/ipw/visualization/base.py
@dataclass(slots=True, frozen=True)
class VisualizationResult:
    """Standardized payload returned by visualization plugins."""

    visualization: str
    artifacts: Mapping[str, Path]
    metadata: Mapping[str, Any] = field(default_factory=dict)
    warnings: tuple[str, ...] = field(default_factory=tuple)

    def __post_init__(self) -> None:
        object.__setattr__(self, "artifacts", _freeze_mapping(self.artifacts))
        object.__setattr__(self, "metadata", _freeze_mapping(self.metadata))

VisualizationProvider

Bases: ABC

Base class for extendible visualization plugins.

Source code in intelligence-per-watt/src/ipw/visualization/base.py
class VisualizationProvider(ABC):
    """Base class for extendible visualization plugins."""

    #: Registry key for this visualization. Subclasses should override this constant.
    visualization_id: str

    @abstractmethod
    def render(self, context: VisualizationContext) -> VisualizationResult:
        """Execute the visualization and return paths to generated artifacts."""

render(context) abstractmethod

Execute the visualization and return paths to generated artifacts.

Source code in intelligence-per-watt/src/ipw/visualization/base.py
@abstractmethod
def render(self, context: VisualizationContext) -> VisualizationResult:
    """Execute the visualization and return paths to generated artifacts."""