When checking for updates, use haiku.rag-slim as the package, since it is always installed

This commit is contained in:
Yiorgis Gozadinos 2025-11-05 10:11:17 +02:00
parent 700e7c94e0
commit 5cd951a5f3
No known key found for this signature in database
4 changed files with 12 additions and 17 deletions

View file

@ -4,10 +4,6 @@ import logging
from importlib.metadata import version as pkg_version from importlib.metadata import version as pkg_version
from pathlib import Path from pathlib import Path
from rich.console import Console
from rich.markdown import Markdown
from rich.progress import Progress
from haiku.rag.client import HaikuRAG from haiku.rag.client import HaikuRAG
from haiku.rag.config import Config from haiku.rag.config import Config
from haiku.rag.mcp import create_mcp_server from haiku.rag.mcp import create_mcp_server
@ -22,6 +18,9 @@ from haiku.rag.research.graph import (
from haiku.rag.research.stream import stream_research_graph from haiku.rag.research.stream import stream_research_graph
from haiku.rag.store.models.chunk import Chunk from haiku.rag.store.models.chunk import Chunk
from haiku.rag.store.models.document import Document from haiku.rag.store.models.document import Document
from rich.console import Console
from rich.markdown import Markdown
from rich.progress import Progress
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -59,7 +58,7 @@ class HaikuRAGApp:
except Exception: except Exception:
ldb_version = "unknown" ldb_version = "unknown"
try: try:
hr_version = pkg_version("haiku.rag") hr_version = pkg_version("haiku.rag-slim")
except Exception: except Exception:
hr_version = "unknown" hr_version = "unknown"
try: try:
@ -211,12 +210,11 @@ class HaikuRAGApp:
async with HaikuRAG(db_path=self.db_path) as self.client: async with HaikuRAG(db_path=self.db_path) as self.client:
try: try:
if deep: if deep:
from rich.console import Console
from haiku.rag.qa.deep.dependencies import DeepQAContext from haiku.rag.qa.deep.dependencies import DeepQAContext
from haiku.rag.qa.deep.graph import build_deep_qa_graph from haiku.rag.qa.deep.graph import build_deep_qa_graph
from haiku.rag.qa.deep.nodes import DeepQAPlanNode from haiku.rag.qa.deep.nodes import DeepQAPlanNode
from haiku.rag.qa.deep.state import DeepQADeps, DeepQAState from haiku.rag.qa.deep.state import DeepQADeps, DeepQAState
from rich.console import Console
graph = build_deep_qa_graph() graph = build_deep_qa_graph()
context = DeepQAContext( context = DeepQAContext(

View file

@ -36,7 +36,7 @@ async def check_version():
def version_callback(value: bool): def version_callback(value: bool):
if value: if value:
v = version("haiku.rag") v = version("haiku.rag-slim")
typer.echo(f"haiku.rag version {v}") typer.echo(f"haiku.rag version {v}")
raise typer.Exit() raise typer.Exit()
@ -353,7 +353,6 @@ def init_config(
): ):
"""Generate a YAML configuration file with defaults or from .env.""" """Generate a YAML configuration file with defaults or from .env."""
import yaml import yaml
from haiku.rag.config.loader import generate_default_config, load_config_from_env from haiku.rag.config.loader import generate_default_config, load_config_from_env
if output.exists(): if output.exists():

View file

@ -7,11 +7,10 @@ from pathlib import Path
from uuid import uuid4 from uuid import uuid4
import lancedb import lancedb
from lancedb.pydantic import LanceModel, Vector
from pydantic import Field
from haiku.rag.config import AppConfig, Config from haiku.rag.config import AppConfig, Config
from haiku.rag.embeddings import get_embedder from haiku.rag.embeddings import get_embedder
from lancedb.pydantic import LanceModel, Vector
from pydantic import Field
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -189,7 +188,7 @@ class Store:
try: try:
from haiku.rag.store.upgrades import run_pending_upgrades from haiku.rag.store.upgrades import run_pending_upgrades
current_version = metadata.version("haiku.rag") current_version = metadata.version("haiku.rag-slim")
db_version = self.get_haiku_version() db_version = self.get_haiku_version()
if db_version != "0.0.0": if db_version != "0.0.0":
@ -199,9 +198,8 @@ class Store:
# to the greater of the installed package version and the # to the greater of the installed package version and the
# highest available upgrade step version in code. # highest available upgrade step version in code.
try: try:
from packaging.version import parse as _v
from haiku.rag.store.upgrades import upgrades as _steps from haiku.rag.store.upgrades import upgrades as _steps
from packaging.version import parse as _v
highest_step = max((_v(u.version) for u in _steps), default=None) highest_step = max((_v(u.version) for u in _steps), default=None)
effective_version = ( effective_version = (
@ -218,7 +216,7 @@ class Store:
logger.warning( logger.warning(
"Skipping upgrade due to error (db=%s -> pkg=%s): %s", "Skipping upgrade due to error (db=%s -> pkg=%s): %s",
self.get_haiku_version(), self.get_haiku_version(),
metadata.version("haiku.rag") if hasattr(metadata, "version") else "", metadata.version("haiku.rag-slim"),
e, e,
) )

View file

@ -82,7 +82,7 @@ async def is_up_to_date() -> tuple[bool, Version, Version]:
import httpx import httpx
async with httpx.AsyncClient() as client: async with httpx.AsyncClient() as client:
running_version = parse(metadata.version("haiku.rag")) running_version = parse(metadata.version("haiku.rag-slim"))
try: try:
response = await client.get("https://pypi.org/pypi/haiku.rag/json") response = await client.get("https://pypi.org/pypi/haiku.rag/json")
data = response.json() data = response.json()