llama-stack-haystack 1.3.0__tar.gz → 3.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (16) hide show
  1. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/CHANGELOG.md +28 -0
  2. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/PKG-INFO +3 -3
  3. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/examples/llama-stack-with-tools.py +1 -1
  4. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/pyproject.toml +4 -4
  5. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/src/haystack_integrations/components/generators/llama_stack/chat/chat_generator.py +9 -9
  6. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/tests/test_llama_stack_chat_generator.py +2 -2
  7. llama_stack_haystack-1.3.0/pydoc/config.yml +0 -29
  8. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/.gitignore +0 -0
  9. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/LICENSE.txt +0 -0
  10. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/README.md +0 -0
  11. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/examples/chatgenerator_with_structured_outputs.py +0 -0
  12. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/pydoc/config_docusaurus.yml +0 -0
  13. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/src/haystack_integrations/components/generators/llama_stack/__init__.py +0 -0
  14. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/src/haystack_integrations/components/generators/llama_stack/chat/__init__.py +0 -0
  15. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/src/haystack_integrations/components/generators/py.typed +0 -0
  16. {llama_stack_haystack-1.3.0 → llama_stack_haystack-3.0.0}/tests/__init__.py +0 -0
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [integrations/llama_stack-v2.0.0] - 2026-01-12
4
+
5
+
6
+ ### ⚙️ CI
7
+
8
+ - Add reruns when running nightly tests if tests fail (#2584)
9
+
10
+ ### 🧹 Chores
11
+
12
+ - Remove Readme API CI workflow and configs (#2573)
13
+ - Make fmt command more forgiving (#2671)
14
+ - Pin llama-stack; X|Y typing (#2715)
15
+
16
+ ## [integrations/llama_stack-v1.3.0] - 2025-11-23
17
+
18
+ ### 🚀 Features
19
+
20
+ - Support structured outputs in `LlamaStackChatGenerator` (#2535)
21
+
22
+ ### ⚙️ CI
23
+
24
+ - Change pytest command (#2475)
25
+ - Add pytest reruns to nightly tests for flaky tests (#2486)
26
+
27
+ ### 🌀 Miscellaneous
28
+
29
+ - Enhancement: Adopt PEP 585 type hinting (part 4) (#2527)
30
+
3
31
  ## [integrations/llama_stack-v1.2.0] - 2025-10-24
4
32
 
5
33
  ### 🚀 Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llama-stack-haystack
3
- Version: 1.3.0
3
+ Version: 3.0.0
4
4
  Summary: Use Llama Stack framework for text generation
5
5
  Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/llama-stack#readme
6
6
  Project-URL: Issues, https://github.com/deepset-ai/haystack-core-integrations/issues
@@ -16,8 +16,8 @@ Classifier: Programming Language :: Python :: 3.13
16
16
  Classifier: Programming Language :: Python :: Implementation :: CPython
17
17
  Classifier: Programming Language :: Python :: Implementation :: PyPy
18
18
  Requires-Python: >=3.12
19
- Requires-Dist: haystack-ai>=2.19.0
20
- Requires-Dist: llama-stack>=0.2.17
19
+ Requires-Dist: haystack-ai>=2.22.0
20
+ Requires-Dist: llama-stack>=0.4.0
21
21
  Description-Content-Type: text/markdown
22
22
 
23
23
  # llama-stack-haystack
@@ -35,7 +35,7 @@ tool_invoker = ToolInvoker(tools=[weather_tool])
35
35
 
36
36
  client = LlamaStackChatGenerator(
37
37
  model="ollama/llama3.2:3b", # model depends on the inference provider used for the Llama Stack Server.
38
- api_base_url="http://localhost:8321/v1/openai/v1",
38
+ api_base_url="http://localhost:8321/v1",
39
39
  )
40
40
  messages = [ChatMessage.from_user("What's the weather in Tokyo?")]
41
41
 
@@ -20,7 +20,7 @@ classifiers = [
20
20
  "Programming Language :: Python :: Implementation :: CPython",
21
21
  "Programming Language :: Python :: Implementation :: PyPy",
22
22
  ]
23
- dependencies = ["haystack-ai>=2.19.0", "llama-stack>=0.2.17"]
23
+ dependencies = ["haystack-ai>=2.22.0", "llama-stack>=0.4.0"]
24
24
 
25
25
  [project.urls]
26
26
  Documentation = "https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/llama-stack#readme"
@@ -42,8 +42,8 @@ git_describe_command = 'git describe --tags --match="integrations/llama_stack-v[
42
42
  installer = "uv"
43
43
  dependencies = ["haystack-pydoc-tools", "ruff"]
44
44
  [tool.hatch.envs.default.scripts]
45
- docs = ["pydoc-markdown pydoc/config.yml"]
46
- fmt = "ruff check --fix {args} && ruff format {args}"
45
+ docs = ["pydoc-markdown pydoc/config_docusaurus.yml"]
46
+ fmt = "ruff check --fix {args}; ruff format {args}"
47
47
  fmt-check = "ruff check {args} && ruff format --check {args}"
48
48
 
49
49
  [tool.hatch.envs.test]
@@ -60,7 +60,7 @@ dependencies = [
60
60
  [tool.hatch.envs.test.scripts]
61
61
  unit = 'pytest -m "not integration" {args:tests}'
62
62
  integration = 'pytest -m "integration" {args:tests}'
63
- all = 'pytest --reruns 3 --reruns-delay 30 -x {args:tests}'
63
+ all = 'pytest {args:tests}'
64
64
  cov-retry = 'pytest --cov=haystack_integrations --reruns 3 --reruns-delay 30 -x {args:tests}'
65
65
 
66
66
  types = "mypy -p haystack_integrations.components.generators.llama_stack {args}"
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
 
7
7
  from haystack import component, default_from_dict, default_to_dict, logging
8
8
  from haystack.components.generators.chat import OpenAIChatGenerator
@@ -59,15 +59,15 @@ class LlamaStackChatGenerator(OpenAIChatGenerator):
59
59
  self,
60
60
  *,
61
61
  model: str,
62
- api_base_url: str = "http://localhost:8321/v1/openai/v1",
63
- organization: Optional[str] = None,
64
- streaming_callback: Optional[StreamingCallbackT] = None,
65
- generation_kwargs: Optional[dict[str, Any]] = None,
66
- timeout: Optional[int] = None,
67
- tools: Optional[ToolsType] = None,
62
+ api_base_url: str = "http://localhost:8321/v1",
63
+ organization: str | None = None,
64
+ streaming_callback: StreamingCallbackT | None = None,
65
+ generation_kwargs: dict[str, Any] | None = None,
66
+ timeout: int | None = None,
67
+ tools: ToolsType | None = None,
68
68
  tools_strict: bool = False,
69
- max_retries: Optional[int] = None,
70
- http_client_kwargs: Optional[dict[str, Any]] = None,
69
+ max_retries: int | None = None,
70
+ http_client_kwargs: dict[str, Any] | None = None,
71
71
  ):
72
72
  """
73
73
  Creates an instance of LlamaStackChatGenerator. To use this chat generator,
@@ -105,7 +105,7 @@ class TestLlamaStackChatGenerator:
105
105
  def test_init_default(self):
106
106
  component = LlamaStackChatGenerator(model="ollama/llama3.2:3b")
107
107
  assert component.model == "ollama/llama3.2:3b"
108
- assert component.api_base_url == "http://localhost:8321/v1/openai/v1"
108
+ assert component.api_base_url == "http://localhost:8321/v1"
109
109
  assert component.streaming_callback is None
110
110
  assert not component.generation_kwargs
111
111
 
@@ -134,7 +134,7 @@ class TestLlamaStackChatGenerator:
134
134
  expected_params = {
135
135
  "model": "ollama/llama3.2:3b",
136
136
  "streaming_callback": None,
137
- "api_base_url": "http://localhost:8321/v1/openai/v1",
137
+ "api_base_url": "http://localhost:8321/v1",
138
138
  "generation_kwargs": {},
139
139
  "timeout": None,
140
140
  "max_retries": None,
@@ -1,29 +0,0 @@
1
- loaders:
2
- - type: haystack_pydoc_tools.loaders.CustomPythonLoader
3
- search_path: [../src]
4
- modules: [
5
- "haystack_integrations.components.generators.llama_stack.chat.chat_generator",
6
- ]
7
- ignore_when_discovered: ["__init__"]
8
- processors:
9
- - type: filter
10
- expression:
11
- documented_only: true
12
- do_not_filter_modules: false
13
- skip_empty_modules: true
14
- - type: smart
15
- - type: crossref
16
- renderer:
17
- type: haystack_pydoc_tools.renderers.ReadmeIntegrationRenderer
18
- excerpt: Llama Stack integration for Haystack
19
- category_slug: integrations-api
20
- title: Llama Stack
21
- slug: integrations-llama-stack
22
- order: 200
23
- markdown:
24
- descriptive_class_title: false
25
- classdef_code_block: false
26
- descriptive_module_title: true
27
- add_method_class_prefix: true
28
- add_member_class_prefix: false
29
- filename: _readme_llama_stack.md