The newest release with wheels for every supported platform: 0.38.0 publishes none for x86_64 Linux or Windows. The zero-coverage FTS scan path is still broken at 0.37.1, so the guard, prevention and repair carry unchanged. ensure_indexes names the index it declares, keeping replace deterministic on 0.38+, where an unnamed create_index builds a suffixed sibling instead of replacing a different-typed index. An invalid search filter raises ValueError.
110 lines
3.1 KiB
TOML
110 lines
3.1 KiB
TOML
[project]
|
|
|
|
name = "haiku.rag-slim"
|
|
description = "Local-first agentic RAG with citations - hybrid search, reranking and multimodal retrieval over your own documents, no database server required - Minimal dependencies"
|
|
version = "0.79.0"
|
|
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
|
|
license = { text = "MIT" }
|
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
requires-python = ">=3.12"
|
|
keywords = [
|
|
"RAG",
|
|
"agentic-rag",
|
|
"lancedb",
|
|
"vector-database",
|
|
"hybrid-search",
|
|
"reranking",
|
|
"multimodal-rag",
|
|
"embeddings",
|
|
"citations",
|
|
"document-ingestion",
|
|
"mcp",
|
|
"mcp-server",
|
|
"pydantic-ai",
|
|
"docling",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Intended Audience :: Developers",
|
|
"Operating System :: Microsoft :: Windows :: Windows 10",
|
|
"Operating System :: Microsoft :: Windows :: Windows 11",
|
|
"Operating System :: MacOS",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Typing :: Typed",
|
|
]
|
|
|
|
dependencies = [
|
|
"docling-core>=2.82.0,<3.0.0",
|
|
"httpx>=0.28.1",
|
|
"jinja2>=3.1.0",
|
|
"fastmcp>=3.3.0",
|
|
"lancedb==0.37.1",
|
|
"pathspec>=1.0.4",
|
|
"pydantic>=2.12.5",
|
|
"pydantic-ai-slim[openai,logfire,ag-ui]>=2.18.0,<3.0.0",
|
|
"pydantic-monty>=0.0.19",
|
|
"pypdfium2>=5.0",
|
|
"python-dotenv>=1.2.2",
|
|
"pyyaml>=6.0.3",
|
|
"rich>=14.3.3",
|
|
"textual-image>=0.8.5",
|
|
"typer>=0.21.0,<0.22.0",
|
|
"watchfiles>=1.1.1",
|
|
"zstandard>=0.23.0; python_version<'3.14'",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://ggozad.github.io/haiku.rag/"
|
|
Documentation = "https://ggozad.github.io/haiku.rag/"
|
|
Repository = "https://github.com/ggozad/haiku.rag"
|
|
Issues = "https://github.com/ggozad/haiku.rag/issues"
|
|
Changelog = "https://ggozad.github.io/haiku.rag/changelog/"
|
|
|
|
[project.optional-dependencies]
|
|
# Document processing
|
|
docling = ["docling>=2.102.2,<3.0.0", "opencv-python-headless>=4.6.0.66,<5.0.0.0"]
|
|
# S3 / object-storage monitoring
|
|
s3 = ["obstore>=0.9,<0.10"]
|
|
# Embedding providers
|
|
voyageai = ["pydantic-ai-slim[voyageai]"]
|
|
# Rerankers
|
|
cohere = ["cohere>=5.21.1"]
|
|
zeroentropy = ["zeroentropy>=0.1.0a11"]
|
|
jina = ["transformers>=4.40.0", "torch>=2.0.0"]
|
|
cross-encoder = ["sentence-transformers>=3.0.0"]
|
|
# Production ingester (queue, workers, API)
|
|
ingester = [
|
|
"fastapi>=0.125",
|
|
"uvicorn[standard]>=0.32",
|
|
"sqlalchemy[asyncio]>=2.0",
|
|
"aiosqlite>=0.20",
|
|
"asyncpg>=0.29",
|
|
"haiku.rag-slim[s3]",
|
|
]
|
|
# TUI (chat and inspect commands)
|
|
tui = [
|
|
"textual>=8.2.4",
|
|
"tree-sitter>=0.25.2",
|
|
"tree-sitter-json>=0.24.8",
|
|
]
|
|
# Model providers (delegated to pydantic-ai-slim)
|
|
anthropic = ["pydantic-ai-slim[anthropic]"]
|
|
groq = ["pydantic-ai-slim[groq]"]
|
|
google = ["pydantic-ai-slim[google]"]
|
|
mistral = ["pydantic-ai-slim[mistral]"]
|
|
bedrock = ["pydantic-ai-slim[bedrock]"]
|
|
vertexai = ["pydantic-ai-slim[google]"]
|
|
|
|
[project.scripts]
|
|
haiku-rag = "haiku.rag.cli:cli"
|
|
haiku-ingester = "haiku.rag.ingester.cli:cli"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["haiku"]
|