From 59eba31267f433d723cf449ebd1c213df1393327 Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Thu, 20 Nov 2025 15:43:01 +0200 Subject: [PATCH] Handle missing textual dependencies --- haiku_rag_slim/haiku/rag/cli.py | 6 +++++- haiku_rag_slim/haiku/rag/inspector/__init__.py | 7 ++++++- haiku_rag_slim/haiku/rag/inspector/app.py | 5 ----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/haiku_rag_slim/haiku/rag/cli.py b/haiku_rag_slim/haiku/rag/cli.py index 26ebd211..0d20a83f 100644 --- a/haiku_rag_slim/haiku/rag/cli.py +++ b/haiku_rag_slim/haiku/rag/cli.py @@ -420,7 +420,11 @@ def inspect( ), ): """Launch the inspector TUI for browsing documents and chunks.""" - from haiku.rag.inspector import run_inspector + try: + from haiku.rag.inspector import run_inspector + except ImportError as e: + typer.echo(f"Error: {e}", err=True) + raise typer.Exit(1) from e db_path = db if db else get_config().storage.data_dir / "haiku.rag.lancedb" run_inspector(db_path) diff --git a/haiku_rag_slim/haiku/rag/inspector/__init__.py b/haiku_rag_slim/haiku/rag/inspector/__init__.py index 487197dd..76b8fda5 100644 --- a/haiku_rag_slim/haiku/rag/inspector/__init__.py +++ b/haiku_rag_slim/haiku/rag/inspector/__init__.py @@ -1,3 +1,8 @@ -from haiku.rag.inspector.app import run_inspector +try: + from haiku.rag.inspector.app import run_inspector +except ImportError as e: + raise ImportError( + "textual is not installed. Please install it with `pip install 'haiku.rag-slim[inspector]'` or use the full haiku.rag package." + ) from e __all__ = ["run_inspector"] diff --git a/haiku_rag_slim/haiku/rag/inspector/app.py b/haiku_rag_slim/haiku/rag/inspector/app.py index 371c1700..5966ec8d 100644 --- a/haiku_rag_slim/haiku/rag/inspector/app.py +++ b/haiku_rag_slim/haiku/rag/inspector/app.py @@ -229,11 +229,6 @@ def run_inspector(db_path: Path | None = None) -> None: Args: db_path: Path to the LanceDB database. If None, uses default from config. """ - if not TEXTUAL_AVAILABLE: - raise ImportError( - "Textual is not installed. Install it with: pip install 'haiku.rag-slim[inspector]'" - ) - config = get_config() if db_path is None: db_path = config.storage.data_dir / "haiku.rag.lancedb"