fix: exclude local-llm from [all] extra, add as opt-in to hindsight-all (#936)

* fix: exclude local-llm from [all] extra to avoid heavy llama-cpp-python dep

local-llm (llama-cpp-python) requires C++ compilation and is only needed
for the built-in llamacpp provider. Keep it as a separate opt-in:
pip install 'hindsight-api-slim[local-llm]'

* feat: add local-llm optional extra to hindsight-all

Allows: pip install 'hindsight-all[local-llm]' to get built-in llamacpp support.

* chore: regenerate uv.lock from workspace root
This commit is contained in:
Nicolò Boschi 2026-04-08 16:06:26 +02:00 committed by GitHub
parent b0e8ac0f4d
commit bdf93f0660
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 5 deletions

View file

@ -20,6 +20,9 @@ hindsight-client = { workspace = true }
hindsight-embed = { workspace = true }
[project.optional-dependencies]
local-llm = [
"hindsight-api-slim[local-llm]>=0.4.17",
]
test = [
"pytest>=7.0.0",
"pytest-asyncio>=0.21.0",

View file

@ -87,7 +87,7 @@ embedded-db = [
"pg0-embedded>=0.11.0",
]
all = [
"hindsight-api-slim[local-ml,local-llm,embedded-db]",
"hindsight-api-slim[local-ml,embedded-db]",
]
test = [
"pytest>=7.0.0",

10
uv.lock
View file

@ -1480,6 +1480,9 @@ dependencies = [
]
[package.optional-dependencies]
local-llm = [
{ name = "hindsight-api-slim", extra = ["local-llm"] },
]
test = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
@ -1488,12 +1491,13 @@ test = [
[package.metadata]
requires-dist = [
{ name = "hindsight-api-slim", extras = ["all"], editable = "hindsight-api-slim" },
{ name = "hindsight-api-slim", extras = ["local-llm"], marker = "extra == 'local-llm'", editable = "hindsight-api-slim" },
{ name = "hindsight-client", editable = "hindsight-clients/python" },
{ name = "hindsight-embed", editable = "hindsight-embed" },
{ name = "pytest", marker = "extra == 'test'", specifier = ">=7.0.0" },
{ name = "pytest-asyncio", marker = "extra == 'test'", specifier = ">=0.21.0" },
]
provides-extras = ["test"]
provides-extras = ["local-llm", "test"]
[[package]]
name = "hindsight-all-slim"
@ -1595,8 +1599,6 @@ dependencies = [
all = [
{ name = "einops" },
{ name = "flashrank" },
{ name = "huggingface-hub" },
{ name = "llama-cpp-python", extra = ["server"] },
{ name = "mlx" },
{ name = "mlx-lm" },
{ name = "pg0-embedded" },
@ -1668,7 +1670,7 @@ requires-dist = [
{ name = "google-auth", specifier = ">=2.0.0" },
{ name = "google-genai", specifier = ">=1.0.0" },
{ name = "greenlet", specifier = ">=3.2.4" },
{ name = "hindsight-api-slim", extras = ["local-ml", "local-llm", "embedded-db"], marker = "extra == 'all'" },
{ name = "hindsight-api-slim", extras = ["local-ml", "embedded-db"], marker = "extra == 'all'" },
{ name = "httpx", specifier = ">=0.27.0" },
{ name = "huggingface-hub", marker = "extra == 'local-llm'", specifier = ">=0.20.0" },
{ name = "langchain-core", specifier = ">=1.2.22" },