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 } hindsight-embed = { workspace = true }
[project.optional-dependencies] [project.optional-dependencies]
local-llm = [
"hindsight-api-slim[local-llm]>=0.4.17",
]
test = [ test = [
"pytest>=7.0.0", "pytest>=7.0.0",
"pytest-asyncio>=0.21.0", "pytest-asyncio>=0.21.0",

View file

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

10
uv.lock
View file

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