Use tui as an optional group. vb

This commit is contained in:
Yiorgis Gozadinos 2026-01-13 12:30:19 +02:00
parent e9efe69136
commit eb5d0b0622
No known key found for this signature in database
12 changed files with 25 additions and 23 deletions

View file

@ -1,6 +1,8 @@
# Changelog
## [Unreleased]
## [0.26.0] - 2026-01-13
### Added
- **Conversational RAG Application**: Full-stack application (`app/`) with CopilotKit frontend and pydantic-ai AG-UI backend

View file

@ -8,7 +8,7 @@ dependencies = [
"uvicorn[standard]>=0.40.0",
"pydantic-ai-slim[ag-ui,anthropic,openai]>=1.39.0",
"python-dotenv>=1.2.1",
"haiku.rag-slim[agui]>=0.23.1",
"haiku.rag-slim[agui]>=0.26.0",
"logfire[pydantic-ai]>=3.17.0",
]

View file

@ -6,6 +6,9 @@ Three interactive applications for working with your knowledge base.
Conversational RAG from the terminal with streaming responses and session memory.
!!! note
Requires the `tui` extra: `pip install haiku.rag-slim[tui]` (included in full `haiku.rag` package)
### Usage
```bash
@ -111,15 +114,8 @@ docker compose -f docker-compose.dev.yml up -d --build frontend
TUI for browsing documents, chunks, and search results.
### Installation
```bash
# For haiku.rag-slim
pip install 'haiku.rag-slim[inspector]'
# Already included in haiku.rag
pip install haiku.rag
```
!!! note
Requires the `tui` extra: `pip install haiku.rag-slim[tui]` (included in full `haiku.rag` package)
### Usage

View file

@ -170,6 +170,9 @@ haiku-rag chat
haiku-rag chat --db /path/to/database.lancedb
```
!!! note
Requires the `tui` extra: `pip install haiku.rag-slim[tui]` (included in full `haiku.rag` package)
The chat interface provides:
- Streaming responses with real-time tool execution

View file

@ -37,6 +37,7 @@ The slim package has minimal dependencies and lets you install only what you nee
- `mxbai` - MixedBread AI reranking
- `cohere` - Cohere reranking
- `zeroentropy` - Zero Entropy reranking
- `tui` - Terminal UI for `chat` and `inspect` commands
**Built-in providers** (no extras needed):
- **Ollama** (default embedding provider)

View file

@ -2,7 +2,7 @@
name = "haiku.rag-evals"
description = "Benchmarking and evaluation scripts for haiku.rag"
version = "0.25.0"
version = "0.26.0"
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
requires-python = ">=3.12"

View file

@ -9,7 +9,7 @@ requires-python = ">=3.12"
keywords = ["RAG", "a2a", "agent", "conversational-ai"]
dependencies = [
"haiku.rag>=0.25.0",
"haiku.rag>=0.26.0",
"fasta2a>=0.6.0",
"pydantic-ai-slim[a2a]>=1.39.0",
"rich>=14.2.0",

View file

@ -18,7 +18,7 @@ def run_chat(
from haiku.rag.chat.app import ChatApp
except ImportError as e:
raise ImportError(
"Textual is required for the chat TUI. Install with: pip install textual"
"textual is not installed. Please install it with `pip install 'haiku.rag-slim[tui]'` or use the full haiku.rag package."
) from e
from haiku.rag.config import get_config

View file

@ -2,7 +2,7 @@ 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."
"textual is not installed. Please install it with `pip install 'haiku.rag-slim[tui]'` or use the full haiku.rag package."
) from e
__all__ = ["run_inspector"]

View file

@ -2,7 +2,7 @@
name = "haiku.rag-slim"
description = "Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling - Minimal dependencies"
version = "0.25.0"
version = "0.26.0"
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
readme = { file = "README.md", content-type = "text/markdown" }
@ -44,8 +44,8 @@ voyageai = ["voyageai>=0.3.7"]
mxbai = ["mxbai-rerank>=0.1.6"]
cohere = ["cohere>=5.20.1"]
zeroentropy = ["zeroentropy>=0.1.0a7"]
# Inspector TUI
inspector = ["textual>=7.0.0", "textual-image>=0.8.5"]
# TUI (chat and inspect commands)
tui = ["textual>=7.0.0", "textual-image>=0.8.5"]
# Model providers (delegated to pydantic-ai-slim)
anthropic = ["pydantic-ai-slim[anthropic]"]
groq = ["pydantic-ai-slim[groq]"]

View file

@ -2,7 +2,7 @@
name = "haiku.rag"
description = "Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling"
version = "0.25.0"
version = "0.26.0"
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
readme = { file = "README.md", content-type = "text/markdown" }
@ -30,14 +30,14 @@ classifiers = [
]
dependencies = [
"haiku.rag-slim[docling,voyageai,mxbai,cohere,zeroentropy,inspector]==0.25.0",
"haiku.rag-slim[docling,voyageai,mxbai,cohere,zeroentropy,tui]==0.26.0",
]
[project.scripts]
haiku-rag = "haiku.rag.cli:cli"
[project.optional-dependencies]
inspector = ["textual>=1.0.0"]
tui = ["textual>=1.0.0"]
[build-system]
requires = ["hatchling"]

View file

@ -1286,7 +1286,7 @@ wheels = [
[[package]]
name = "haiku-rag"
version = "0.25.0"
version = "0.26.0"
source = { editable = "." }
dependencies = [
{ name = "haiku-rag-slim", extra = ["cohere", "docling", "inspector", "mxbai", "voyageai", "zeroentropy"] },
@ -1341,7 +1341,7 @@ dev = [
[[package]]
name = "haiku-rag-evals"
version = "0.25.0"
version = "0.26.0"
source = { editable = "evaluations" }
dependencies = [
{ name = "datasets" },
@ -1362,7 +1362,7 @@ requires-dist = [
[[package]]
name = "haiku-rag-slim"
version = "0.25.0"
version = "0.26.0"
source = { editable = "haiku_rag_slim" }
dependencies = [
{ name = "docling-core" },