weaviate-haystack 4.0.0__tar.gz → 4.0.2__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 (23) hide show
  1. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/CHANGELOG.md +10 -3
  2. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/PKG-INFO +2 -4
  3. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/pyproject.toml +1 -2
  4. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/document_stores/weaviate/document_store.py +8 -0
  5. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/test_document_store.py +24 -0
  6. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/.gitignore +0 -0
  7. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/LICENSE.txt +0 -0
  8. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/README.md +0 -0
  9. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/docker-compose.yml +0 -0
  10. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/pydoc/config.yml +0 -0
  11. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/components/retrievers/weaviate/__init__.py +0 -0
  12. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/components/retrievers/weaviate/bm25_retriever.py +0 -0
  13. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/components/retrievers/weaviate/embedding_retriever.py +0 -0
  14. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/document_stores/weaviate/__init__.py +0 -0
  15. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/document_stores/weaviate/_filters.py +0 -0
  16. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/src/haystack_integrations/document_stores/weaviate/auth.py +0 -0
  17. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/__init__.py +0 -0
  18. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/conftest.py +0 -0
  19. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/test_auth.py +0 -0
  20. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/test_bm25_retriever.py +0 -0
  21. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/test_embedding_retriever.py +0 -0
  22. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/test_files/robot1.jpg +0 -0
  23. {weaviate_haystack-4.0.0 → weaviate_haystack-4.0.2}/tests/test_filters.py +0 -0
@@ -1,10 +1,19 @@
1
1
  # Changelog
2
2
 
3
- ## [integrations/weaviate-v3.0.0] - 2024-09-12
3
+ ## [integrations/weaviate-v4.0.1] - 2024-11-11
4
+
5
+ ## [integrations/weaviate-v4.0.0] - 2024-10-18
6
+
7
+ ### 🐛 Bug Fixes
8
+
9
+ - Compatibility with Weaviate 4.9.0 (#1143)
4
10
 
5
11
  ### ⚙️ Miscellaneous Tasks
6
12
 
7
13
  - Weaviate - remove legacy filter support (#1070)
14
+ - Update changelog after removing legacy filters (#1083)
15
+ - Update ruff linting scripts and settings (#1105)
16
+ - Adopt uv as installer (#1142)
8
17
 
9
18
  ## [integrations/weaviate-v2.2.1] - 2024-09-07
10
19
 
@@ -58,8 +67,6 @@
58
67
  This PR will also push the docs to Readme
59
68
  - Fix weaviate auth tests (#488)
60
69
 
61
-
62
-
63
70
  ### 📚 Documentation
64
71
 
65
72
  - Update category slug (#442)
@@ -1,13 +1,12 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: weaviate-haystack
3
- Version: 4.0.0
3
+ Version: 4.0.2
4
4
  Summary: An integration of Weaviate vector database with Haystack
5
5
  Project-URL: Source, https://github.com/deepset-ai/haystack-core-integrations
6
6
  Project-URL: Documentation, https://github.com/deepset-ai/haystack-core-integrations/blob/main/integrations/weaviate/README.md
7
7
  Project-URL: Issues, https://github.com/deepset-ai/haystack-core-integrations/issues
8
8
  Author-email: deepset GmbH <info@deepset.ai>
9
- License-Expression: Apache-2.0
10
- License-File: LICENSE.txt
9
+ License: Apache-2.0
11
10
  Classifier: Development Status :: 4 - Beta
12
11
  Classifier: License :: OSI Approved :: Apache Software License
13
12
  Classifier: Programming Language :: Python
@@ -20,7 +19,6 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
20
19
  Classifier: Programming Language :: Python :: Implementation :: PyPy
21
20
  Requires-Python: >=3.9
22
21
  Requires-Dist: haystack-ai
23
- Requires-Dist: haystack-pydoc-tools
24
22
  Requires-Dist: python-dateutil
25
23
  Requires-Dist: weaviate-client>=4.9
26
24
  Description-Content-Type: text/markdown
@@ -26,7 +26,6 @@ classifiers = [
26
26
  dependencies = [
27
27
  "haystack-ai",
28
28
  "weaviate-client>=4.9",
29
- "haystack-pydoc-tools",
30
29
  "python-dateutil",
31
30
  ]
32
31
 
@@ -48,7 +47,7 @@ git_describe_command = 'git describe --tags --match="integrations/weaviate-v[0-9
48
47
 
49
48
  [tool.hatch.envs.default]
50
49
  installer = "uv"
51
- dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "ipython"]
50
+ dependencies = ["coverage[toml]>=6.5", "pytest", "pytest-rerunfailures", "ipython", "haystack-pydoc-tools"]
52
51
  [tool.hatch.envs.default.scripts]
53
52
  test = "pytest {args:tests}"
54
53
  test-cov = "coverage run -m pytest {args:tests}"
@@ -286,6 +286,14 @@ class WeaviateDocumentStore:
286
286
  # The embedding vector is stored separately from the rest of the data
287
287
  del data["embedding"]
288
288
 
289
+ # _split_overlap meta field is unsupported because of a bug
290
+ # https://github.com/deepset-ai/haystack-core-integrations/issues/1172
291
+ if "_split_overlap" in data:
292
+ data.pop("_split_overlap")
293
+ logger.warning(
294
+ "Document %s has the unsupported `_split_overlap` meta field. It will be ignored.", data["_original_id"]
295
+ )
296
+
289
297
  if "sparse_embedding" in data:
290
298
  sparse_embedding = data.pop("sparse_embedding", None)
291
299
  if sparse_embedding:
@@ -508,6 +508,30 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
508
508
  def test_comparison_not_equal_with_dataframe(self, document_store, filterable_docs):
509
509
  return super().test_comparison_not_equal_with_dataframe(document_store, filterable_docs)
510
510
 
511
+ def test_meta_split_overlap_is_skipped(self, document_store):
512
+ doc = Document(
513
+ content="The moonlight shimmered ",
514
+ meta={
515
+ "source_id": "62049ba1d1e1d5ebb1f6230b0b00c5356b8706c56e0b9c36b1dfc86084cd75f0",
516
+ "page_number": 1,
517
+ "split_id": 0,
518
+ "split_idx_start": 0,
519
+ "_split_overlap": [
520
+ {"doc_id": "68ed48ba830048c5d7815874ed2de794722e6d10866b6c55349a914fd9a0df65", "range": (0, 20)}
521
+ ],
522
+ },
523
+ )
524
+ document_store.write_documents([doc])
525
+
526
+ written_doc = document_store.filter_documents()[0]
527
+
528
+ assert written_doc.content == "The moonlight shimmered "
529
+ assert written_doc.meta["source_id"] == "62049ba1d1e1d5ebb1f6230b0b00c5356b8706c56e0b9c36b1dfc86084cd75f0"
530
+ assert written_doc.meta["page_number"] == 1.0
531
+ assert written_doc.meta["split_id"] == 0.0
532
+ assert written_doc.meta["split_idx_start"] == 0.0
533
+ assert "_split_overlap" not in written_doc.meta
534
+
511
535
  def test_bm25_retrieval(self, document_store):
512
536
  document_store.write_documents(
513
537
  [