github-haystack 2.1.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.
- {github_haystack-2.1.0 → github_haystack-3.0.0}/CHANGELOG.md +29 -2
- {github_haystack-2.1.0 → github_haystack-3.0.0}/LICENSE.txt +1 -1
- {github_haystack-2.1.0 → github_haystack-3.0.0}/PKG-INFO +4 -4
- {github_haystack-2.1.0 → github_haystack-3.0.0}/pyproject.toml +3 -2
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/file_editor.py +1 -1
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/pr_creator.py +1 -1
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/context_prompt.py +0 -5
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_file_editor_tool.py +17 -17
- {github_haystack-2.1.0 → github_haystack-3.0.0}/.gitignore +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/README.md +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/pydoc/config_docusaurus.yml +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/__init__.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/issue_commenter.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/issue_viewer.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/repo_forker.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/github/repo_viewer.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/components/connectors/py.typed +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/__init__.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/file_editor_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/issue_commenter_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/issue_viewer_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/pr_creator_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/repo_forker_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/repo_viewer_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/system_prompt.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/py.typed +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/__init__.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/file_editor_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/issue_commenter_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/issue_viewer_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/pr_creator_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/repo_forker_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/repo_viewer_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/utils.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/py.typed +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/__init__.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_file_editor.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_issue_commenter.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_issue_commenter_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_issue_viewer.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_issue_viewer_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_pr_creator.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_pr_creator_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_repo_forker.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_repo_forker_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_repo_viewer.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_repo_viewer_tool.py +0 -0
- {github_haystack-2.1.0 → github_haystack-3.0.0}/tests/test_utils.py +0 -0
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [integrations/github-v2.1.0] - 2026-05-13
|
|
4
|
+
|
|
5
|
+
### 📚 Documentation
|
|
6
|
+
|
|
7
|
+
- Simplify pydoc configs (#2855)
|
|
8
|
+
|
|
9
|
+
### 🧪 Testing
|
|
10
|
+
|
|
11
|
+
- GitHub - make tests compatible with new Agent parameters (#2865)
|
|
12
|
+
- Test compatible integrations with python 3.14; update pyproject (#3001)
|
|
13
|
+
- Track test coverage for all integrations (#3065)
|
|
14
|
+
- Add unit tests for github + fix small handler bug (#3280)
|
|
15
|
+
|
|
16
|
+
### 🧹 Chores
|
|
17
|
+
|
|
18
|
+
- Add ANN type annotations to faiss, fastembed, firecrawl, github, google_ai (#2988)
|
|
19
|
+
- Enforce ruff docstring rules (D102/D103/D205/D209/D213/D417/D419) in integrations 11-20 (#3009)
|
|
20
|
+
|
|
21
|
+
### 🌀 Miscellaneous
|
|
22
|
+
|
|
23
|
+
- Test: Fix github tests due to changes on Haystack main (#2778)
|
|
24
|
+
|
|
3
25
|
## [integrations/github-v2.0.0] - 2026-01-12
|
|
4
26
|
|
|
5
27
|
### 📚 Documentation
|
|
@@ -25,11 +47,17 @@
|
|
|
25
47
|
|
|
26
48
|
## [integrations/github-v1.2.1] - 2025-10-20
|
|
27
49
|
|
|
50
|
+
|
|
51
|
+
### 🌀 Miscellaneous
|
|
52
|
+
|
|
53
|
+
- Fix: handle empty GitHub tokens in authentication headers (#2400)
|
|
54
|
+
|
|
55
|
+
## [integrations/github-v1.2.0] - 2025-10-10
|
|
56
|
+
|
|
28
57
|
### 🚀 Features
|
|
29
58
|
|
|
30
59
|
- Add support for GitHubRepoForkerTool (#1968)
|
|
31
60
|
|
|
32
|
-
|
|
33
61
|
### 🧪 Testing
|
|
34
62
|
|
|
35
63
|
- Fix GitHub test (#2119)
|
|
@@ -41,7 +69,6 @@
|
|
|
41
69
|
### 🌀 Miscellaneous
|
|
42
70
|
|
|
43
71
|
- Chore: Fix linting github (#2255)
|
|
44
|
-
- Fix: handle empty GitHub tokens in authentication headers (#2400)
|
|
45
72
|
|
|
46
73
|
## [integrations/github-v1.1.0] - 2025-07-01
|
|
47
74
|
|
|
@@ -58,7 +58,7 @@ APPENDIX: How to apply the Apache License to your work.
|
|
|
58
58
|
|
|
59
59
|
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
|
|
60
60
|
|
|
61
|
-
Copyright
|
|
61
|
+
Copyright 2023-present deepset GmbH
|
|
62
62
|
|
|
63
63
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
64
64
|
you may not use this file except in compliance with the License.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: github-haystack
|
|
3
|
-
Version:
|
|
3
|
+
Version: 3.0.0
|
|
4
4
|
Summary: Haystack components for interacting with GitHub repositories
|
|
5
5
|
Project-URL: Source, https://github.com/deepset-ai/haystack-core-integrations/github
|
|
6
6
|
Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/blob/main/integrations/github/README.md
|
|
@@ -11,14 +11,14 @@ License-File: LICENSE.txt
|
|
|
11
11
|
Classifier: Development Status :: 4 - Beta
|
|
12
12
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
13
|
Classifier: Programming Language :: Python
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.14
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
19
19
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
20
20
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
21
|
-
Requires-Python: >=3.
|
|
21
|
+
Requires-Python: >=3.11
|
|
22
22
|
Requires-Dist: haystack-ai>=2.22.0
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
|
|
@@ -7,7 +7,7 @@ name = "github-haystack"
|
|
|
7
7
|
dynamic = ["version"]
|
|
8
8
|
description = 'Haystack components for interacting with GitHub repositories'
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
11
|
license = "Apache-2.0"
|
|
12
12
|
keywords = []
|
|
13
13
|
authors = [{ name = "deepset GmbH", email = "info@deepset.ai" }]
|
|
@@ -15,11 +15,11 @@ classifiers = [
|
|
|
15
15
|
"License :: OSI Approved :: Apache Software License",
|
|
16
16
|
"Development Status :: 4 - Beta",
|
|
17
17
|
"Programming Language :: Python",
|
|
18
|
-
"Programming Language :: Python :: 3.10",
|
|
19
18
|
"Programming Language :: Python :: 3.11",
|
|
20
19
|
"Programming Language :: Python :: 3.12",
|
|
21
20
|
"Programming Language :: Python :: 3.13",
|
|
22
21
|
"Programming Language :: Python :: 3.14",
|
|
22
|
+
"Programming Language :: Python :: 3.15",
|
|
23
23
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
24
24
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
25
25
|
]
|
|
@@ -128,6 +128,7 @@ ignore = [
|
|
|
128
128
|
"PLR0912",
|
|
129
129
|
"PLR0913",
|
|
130
130
|
"PLR0915",
|
|
131
|
+
"PLR0917",
|
|
131
132
|
# Misc
|
|
132
133
|
"B008",
|
|
133
134
|
"S101",
|
|
@@ -12,7 +12,7 @@ from haystack.utils import Secret, deserialize_secrets_inplace
|
|
|
12
12
|
logger = logging.getLogger(__name__)
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class Command(str, Enum):
|
|
15
|
+
class Command(str, Enum): # noqa: UP042 # StrEnum would change str() of this public enum
|
|
16
16
|
"""
|
|
17
17
|
Available commands for file operations in GitHub.
|
|
18
18
|
|
|
@@ -168,9 +168,4 @@ This is a mono-repo maintained by the deepset-Team that contains integrations fo
|
|
|
168
168
|
Typically, an integration consists of one or more components. Some integrations only contain document stores.
|
|
169
169
|
Each integration is a standalone pypi-package but you can find all of them in the core integrations repo.
|
|
170
170
|
|
|
171
|
-
|
|
172
|
-
3. "deepset-ai/haystack-experimental"
|
|
173
|
-
|
|
174
|
-
Contains experimental features for the Haystack framework.
|
|
175
|
-
|
|
176
171
|
"""
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# SPDX-FileCopyrightText: 2023-present deepset GmbH <info@deepset.ai>
|
|
2
2
|
#
|
|
3
3
|
# SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
import unittest
|
|
4
|
+
import unittest.mock
|
|
5
5
|
|
|
6
6
|
from haystack import Pipeline
|
|
7
7
|
from haystack.components.agents import Agent
|
|
@@ -143,16 +143,6 @@ class TestGitHubFileEditorTool:
|
|
|
143
143
|
|
|
144
144
|
pipeline_dict = pipeline.to_dict()
|
|
145
145
|
|
|
146
|
-
# Remove parameters introduced after haystack-ai==2.12.0 (the minimum supported version)
|
|
147
|
-
# to maintain compatibility
|
|
148
|
-
try:
|
|
149
|
-
pipeline_dict["components"]["agent"]["init_parameters"]["chat_generator"]["init_parameters"].pop(
|
|
150
|
-
"http_client_kwargs", None
|
|
151
|
-
)
|
|
152
|
-
pipeline_dict["components"]["agent"]["init_parameters"].pop("tool_invoker_kwargs", None)
|
|
153
|
-
except KeyError:
|
|
154
|
-
pass
|
|
155
|
-
|
|
156
146
|
expected_dict = {
|
|
157
147
|
"metadata": {},
|
|
158
148
|
"max_runs_per_component": 100,
|
|
@@ -205,16 +195,26 @@ class TestGitHubFileEditorTool:
|
|
|
205
195
|
"connection_type_validation": True,
|
|
206
196
|
}
|
|
207
197
|
|
|
208
|
-
#
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
198
|
+
# The Agent and the OpenAIChatGenerator belong to haystack-ai, and their init parameters vary across the
|
|
199
|
+
# haystack-ai versions this integration supports. Accept whatever the installed version adds beyond the
|
|
200
|
+
# expected baseline: this test only pins the serialization of GitHubFileEditorTool.
|
|
201
|
+
actual_agent_params = pipeline_dict["components"]["agent"]["init_parameters"]
|
|
202
|
+
expected_agent_params = expected_dict["components"]["agent"]["init_parameters"]
|
|
203
|
+
for actual_params, expected_params in [
|
|
204
|
+
(actual_agent_params, expected_agent_params),
|
|
205
|
+
(
|
|
206
|
+
actual_agent_params["chat_generator"]["init_parameters"],
|
|
207
|
+
expected_agent_params["chat_generator"]["init_parameters"],
|
|
208
|
+
),
|
|
209
|
+
]:
|
|
210
|
+
for key in actual_params.keys() - expected_params.keys():
|
|
211
|
+
expected_params[key] = actual_params[key]
|
|
214
212
|
|
|
215
213
|
assert pipeline_dict == expected_dict
|
|
216
214
|
|
|
217
215
|
deserialized_pipeline = Pipeline.from_dict(pipeline_dict)
|
|
216
|
+
assert deserialized_pipeline == pipeline
|
|
217
|
+
|
|
218
218
|
deserialized_components = [instance for _, instance in deserialized_pipeline.graph.nodes(data="instance")]
|
|
219
219
|
deserialized_agent = deserialized_components[0]
|
|
220
220
|
assert isinstance(deserialized_agent, Agent)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/prompts/github/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{github_haystack-2.1.0 → github_haystack-3.0.0}/src/haystack_integrations/tools/github/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|