Skip to content

stat

stat #

Stat — one labelled figure.

Stat #

Bases: Component

A value under its label, with an optional unit.

cg.ui.Stat("Sessions", 12)
cg.ui.Stat("Coverage", 0.8, unit="ratio")
Source code in capturegraph-lib/capturegraph/ui/stat.py
class Stat(Component):
    """A ``value`` under its ``label``, with an optional ``unit``.

    ```python
    cg.ui.Stat("Sessions", 12)
    cg.ui.Stat("Coverage", 0.8, unit="ratio")
    ```
    """

    label: str
    value: float | str
    unit: str | None = None

    def html(self, render: Render) -> str:
        """The value large, its unit beside it, the label beneath."""
        shown = f"{self.value:g}" if isinstance(self.value, float) else str(self.value)
        parts = [text(shown)]
        if self.unit is not None:
            parts.append(element("span", {"class": "cg-stat-unit"}, text(self.unit)))
        return element(
            "div",
            {"class": "cg-stat"},
            element("span", {"class": "cg-stat-value"}, *parts),
            element("span", {"class": "cg-stat-label"}, text(self.label)),
        )

html(render) #

The value large, its unit beside it, the label beneath.

Source code in capturegraph-lib/capturegraph/ui/stat.py
def html(self, render: Render) -> str:
    """The value large, its unit beside it, the label beneath."""
    shown = f"{self.value:g}" if isinstance(self.value, float) else str(self.value)
    parts = [text(shown)]
    if self.unit is not None:
        parts.append(element("span", {"class": "cg-stat-unit"}, text(self.unit)))
    return element(
        "div",
        {"class": "cg-stat"},
        element("span", {"class": "cg-stat-value"}, *parts),
        element("span", {"class": "cg-stat-label"}, text(self.label)),
    )