From b9c4f3487f45558e53610111c4932c00b35308ef Mon Sep 17 00:00:00 2001 From: Collin Cunningham Date: Wed, 8 Apr 2026 15:10:40 -0400 Subject: [PATCH] initial --- sdks/python/src/opik/cli/connect.py | 2 +- sdks/python/src/opik/runner/tui.py | 25 +++++++++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/sdks/python/src/opik/cli/connect.py b/sdks/python/src/opik/cli/connect.py index c12160c802f..affcfe982bc 100644 --- a/sdks/python/src/opik/cli/connect.py +++ b/sdks/python/src/opik/cli/connect.py @@ -83,7 +83,7 @@ def connect( tui = RunnerTUI() tui.start() - tui.print_banner(runner_id, project_name) + tui.print_banner(runner_id, project_name, url=client.config.url_override) # Suppress OPIK log lines from leaking into the TUI opik_logger = logging.getLogger("opik") diff --git a/sdks/python/src/opik/runner/tui.py b/sdks/python/src/opik/runner/tui.py index 58f87ff5fbc..bcd0715de5a 100644 --- a/sdks/python/src/opik/runner/tui.py +++ b/sdks/python/src/opik/runner/tui.py @@ -54,21 +54,30 @@ def stop(self) -> None: self._live.stop() self._live = None - def print_banner(self, runner_id: str, project_name: str = "") -> None: + def print_banner( + self, + runner_id: str, + project_name: str = "", + url: str = "", + ) -> None: + # Align url/project lines under "runner:" visually + # " ⠀⃝ opik " is ~13 chars wide in a terminal + padding = " " * 11 + info = Text() info.append(" ") info.append("\u2800\u20dd", style="rgb(224,62,45)") info.append(" opik ", style="bold") info.append(f"runner: {runner_id}", style="dim") + if url: + info.append(f"\n{padding}") + info.append(f"url: {url}", style="dim") if project_name: - info.append(f" project: {project_name}", style="dim") + info.append(f"\n{padding}") + info.append(f"project: {project_name}", style="dim") - if self._live is not None: - self._console.print(info) - self._console.print() - else: - self._console.print(info) - self._console.print() + self._console.print(info) + self._console.print() def app_line(self, stream: str, line: str) -> None: color = _color_for_line(self._line_count)