Today ollama>=0.6.1 and numpy>=2.4.2 are hard dependencies in pyproject.toml. A user who only ever calls get or search installs the Ollama client without knowing it, and the install docs never mention it.
Only search --semantic, embed and guide need them.
Proposed: [semantic] = ["ollama", "numpy"], with a clear ImportError message when semantic_search/build_embeddings are called without it.
Not a pure packaging change: it breaks library users who from opensdmx import semantic_search today, so it needs a deprecation path and a release note.
Recommended in three separate places and never executed — docs/evaluation-v0.10.3.md:109, docs/evaluation-v0.14.0.md:251 (both now untracked, kept locally), and the 2026-07-16 self-contained plan.
Note the real prerequisite is out of band anyway: the Ollama server and a ~1 GB model pull, neither of which pip can express.
Today
ollama>=0.6.1andnumpy>=2.4.2are harddependenciesinpyproject.toml. A user who only ever callsgetorsearchinstalls the Ollama client without knowing it, and the install docs never mention it.Only
search --semantic,embedandguideneed them.Proposed:
[semantic] = ["ollama", "numpy"], with a clear ImportError message whensemantic_search/build_embeddingsare called without it.Not a pure packaging change: it breaks library users who
from opensdmx import semantic_searchtoday, so it needs a deprecation path and a release note.Recommended in three separate places and never executed —
docs/evaluation-v0.10.3.md:109,docs/evaluation-v0.14.0.md:251(both now untracked, kept locally), and the 2026-07-16 self-contained plan.Note the real prerequisite is out of band anyway: the Ollama server and a ~1 GB model pull, neither of which pip can express.