weaviate-haystack 4.0.2__tar.gz → 6.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 (24) hide show
  1. weaviate_haystack-6.0.0/CHANGELOG.md +149 -0
  2. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/PKG-INFO +5 -5
  3. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/pyproject.toml +5 -3
  4. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/document_stores/weaviate/_filters.py +4 -7
  5. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/document_stores/weaviate/document_store.py +7 -8
  6. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/test_bm25_retriever.py +0 -3
  7. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/test_document_store.py +5 -67
  8. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/test_embedding_retriever.py +0 -3
  9. weaviate_haystack-4.0.2/CHANGELOG.md +0 -86
  10. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/.gitignore +0 -0
  11. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/LICENSE.txt +0 -0
  12. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/README.md +0 -0
  13. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/docker-compose.yml +0 -0
  14. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/pydoc/config.yml +0 -0
  15. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/components/retrievers/weaviate/__init__.py +0 -0
  16. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/components/retrievers/weaviate/bm25_retriever.py +0 -0
  17. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/components/retrievers/weaviate/embedding_retriever.py +0 -0
  18. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/document_stores/weaviate/__init__.py +1 -1
  19. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/src/haystack_integrations/document_stores/weaviate/auth.py +0 -0
  20. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/__init__.py +0 -0
  21. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/conftest.py +0 -0
  22. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/test_auth.py +0 -0
  23. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/test_files/robot1.jpg +0 -0
  24. {weaviate_haystack-4.0.2 → weaviate_haystack-6.0.0}/tests/test_filters.py +0 -0
@@ -0,0 +1,149 @@
1
+ # Changelog
2
+
3
+ ## [integrations/weaviate-v5.0.0] - 2025-02-17
4
+
5
+ ### 🧹 Chores
6
+
7
+ - Fix linting/isort (#1215)
8
+ - Inherit from `FilterDocumentsTestWithDataframe` in Document Stores (#1290)
9
+ - [**breaking**] Weaviate - remove dataframe support (#1406)
10
+
11
+
12
+ ## [integrations/weaviate-v4.0.2] - 2024-11-13
13
+
14
+ ### 🐛 Bug Fixes
15
+
16
+ - Dependency for weaviate document store (#1186)
17
+
18
+
19
+ ## [integrations/weaviate-v4.0.1] - 2024-11-11
20
+
21
+ ### 🌀 Miscellaneous
22
+
23
+ - Fix: Weaviate - skip `_split_overlap` meta field (#1173)
24
+
25
+ ## [integrations/weaviate-v4.0.0] - 2024-10-18
26
+
27
+ ### 🐛 Bug Fixes
28
+
29
+ - Compatibility with Weaviate 4.9.0 (#1143)
30
+
31
+ ### ⚙️ CI
32
+
33
+ - Adopt uv as installer (#1142)
34
+
35
+ ### 🧹 Chores
36
+
37
+ - Weaviate - remove legacy filter support (#1070)
38
+ - Update changelog after removing legacy filters (#1083)
39
+ - Update ruff linting scripts and settings (#1105)
40
+
41
+
42
+ ## [integrations/weaviate-v2.2.1] - 2024-09-07
43
+
44
+ ### 🚀 Features
45
+
46
+ - Add filter_policy to weaviate integration (#824)
47
+
48
+ ### 🐛 Bug Fixes
49
+
50
+ - Weaviate filter error (#811)
51
+ - Fix connection to Weaviate Cloud Service (#624)
52
+ - Pin weaviate-client (#1046)
53
+ - Weaviate - fix connection issues with some WCS URLs (#1058)
54
+
55
+ ### 🧪 Testing
56
+
57
+ - Do not retry tests in `hatch run test` command (#954)
58
+
59
+ ### ⚙️ CI
60
+
61
+ - Retry tests to reduce flakyness (#836)
62
+
63
+ ### 🧹 Chores
64
+
65
+ - Update ruff invocation to include check parameter (#853)
66
+
67
+ ### 🌀 Miscellaneous
68
+
69
+ - Ci: install `pytest-rerunfailures` where needed; add retry config to `test-cov` script (#845)
70
+ - Chore: Minor retriever pydoc fix (#884)
71
+ - Fix: `weaviate` - Fallback to default filter policy when deserializing retrievers without the init parameter (#903)
72
+ - Fix: Weaviate: Use collections.list_all instead of collections._get_all (#921)
73
+ - Chore: weaviate - ruff update, don't ruff tests (#986)
74
+
75
+ ## [integrations/weaviate-v2.1.0] - 2024-06-10
76
+
77
+ ### 🚀 Features
78
+
79
+ - Defer the database connection to when it's needed (#802)
80
+
81
+ ### 🐛 Bug Fixes
82
+
83
+ - Weaviate schema class name conversion which preserves PascalCase (#707)
84
+
85
+ ### 🌀 Miscellaneous
86
+
87
+ - Chore: add license classifiers (#680)
88
+ - Chore: change the pydoc renderer class (#718)
89
+
90
+ ## [integrations/weaviate-v2.0.0] - 2024-03-25
91
+
92
+ ### 📚 Documentation
93
+
94
+ - Disable-class-def (#556)
95
+ - Fix docstrings (#586)
96
+
97
+ ### 🌀 Miscellaneous
98
+
99
+ - Make tests show coverage (#566)
100
+ - Migrate from weaviate python client v3 to v4 (#463)
101
+ - Refactor tests (#574)
102
+ - Remove references to Python 3.7 (#601)
103
+ - Make Document Stores initially skip `SparseEmbedding` (#606)
104
+ - Fix Weaviate retrievers returning no score (#621)
105
+ - Update Weaviate docstrings (#622)
106
+
107
+ ## [integrations/weaviate-v1.0.2] - 2024-02-27
108
+
109
+ ### 🐛 Bug Fixes
110
+
111
+ - Fix order of API docs (#447)
112
+ - Weaviate: fix auth tests (#488)
113
+
114
+ ### 📚 Documentation
115
+
116
+ - Update category slug (#442)
117
+
118
+ ### 🌀 Miscellaneous
119
+
120
+ - Make retrievers return dicts (#491)
121
+
122
+ ## [integrations/weaviate-v1.0.0] - 2024-02-15
123
+
124
+ ### 🚀 Features
125
+
126
+ - Generate weaviate API docs (#351)
127
+
128
+ ### 🌀 Miscellaneous
129
+
130
+ - WeaviateDocumentStore initialization and serialization (#187)
131
+ - Move package under haystack_integrations (#214)
132
+ - Add `collection_name` parameter and creation (#215)
133
+ - Support more collection settings when creating a new `WeaviateDocumentStore` (#260)
134
+ - Implement `count_document` for WeaviateDocumentStore (#267)
135
+ - Add methods to convert from Document to Weaviate data object and viceversa (#269)
136
+ - Add filter, write and delete documents in Weaviate (#270)
137
+ - Implement filtering for `WeaviateDocumentStore` (#278)
138
+ - Add `WeaviateBM25Retriever` (#410)
139
+ - Add `WeaviateEmbeddingRetriever` (#412)
140
+ - Update Weaviate docs configs (#414)
141
+ - Update WeaviateDocumentStore authentication to use new Secret class (#425)
142
+
143
+ ## [integrations/weaviate-v0.0.0] - 2024-01-10
144
+
145
+ ### 🌀 Miscellaneous
146
+
147
+ - Setup everything to start working on the Weaviate integration (#186)
148
+
149
+ <!-- generated by git-cliff -->
@@ -1,16 +1,16 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: weaviate-haystack
3
- Version: 4.0.2
3
+ Version: 6.0.0
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: Apache-2.0
9
+ License-Expression: Apache-2.0
10
+ License-File: LICENSE.txt
10
11
  Classifier: Development Status :: 4 - Beta
11
12
  Classifier: License :: OSI Approved :: Apache Software License
12
13
  Classifier: Programming Language :: Python
13
- Classifier: Programming Language :: Python :: 3.8
14
14
  Classifier: Programming Language :: Python :: 3.9
15
15
  Classifier: Programming Language :: Python :: 3.10
16
16
  Classifier: Programming Language :: Python :: 3.11
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: 3.12
18
18
  Classifier: Programming Language :: Python :: Implementation :: CPython
19
19
  Classifier: Programming Language :: Python :: Implementation :: PyPy
20
20
  Requires-Python: >=3.9
21
- Requires-Dist: haystack-ai
21
+ Requires-Dist: haystack-ai>=2.11.0
22
22
  Requires-Dist: python-dateutil
23
23
  Requires-Dist: weaviate-client>=4.9
24
24
  Description-Content-Type: text/markdown
@@ -15,7 +15,6 @@ 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.8",
19
18
  "Programming Language :: Python :: 3.9",
20
19
  "Programming Language :: Python :: 3.10",
21
20
  "Programming Language :: Python :: 3.11",
@@ -24,7 +23,7 @@ classifiers = [
24
23
  "Programming Language :: Python :: Implementation :: PyPy",
25
24
  ]
26
25
  dependencies = [
27
- "haystack-ai",
26
+ "haystack-ai>=2.11.0",
28
27
  "weaviate-client>=4.9",
29
28
  "python-dateutil",
30
29
  ]
@@ -58,7 +57,7 @@ cov-retry = ["test-cov-retry", "cov-report"]
58
57
  docs = ["pydoc-markdown pydoc/config.yml"]
59
58
 
60
59
  [[tool.hatch.envs.all.matrix]]
61
- python = ["3.8", "3.9", "3.10", "3.11", "3.12"]
60
+ python = [ "3.9", "3.10", "3.11", "3.12"]
62
61
 
63
62
  [tool.hatch.envs.lint]
64
63
  installer = "uv"
@@ -160,3 +159,6 @@ module = [
160
159
  "grpc",
161
160
  ]
162
161
  ignore_missing_imports = true
162
+
163
+ [tool.pytest.ini_options]
164
+ markers = ["integration: integration tests"]
@@ -6,7 +6,6 @@ from typing import Any, Dict
6
6
 
7
7
  from dateutil import parser
8
8
  from haystack.errors import FilterError
9
- from pandas import DataFrame
10
9
 
11
10
  import weaviate
12
11
  from weaviate.collections.classes.filters import Filter, FilterReturn
@@ -129,7 +128,7 @@ def _greater_than(field: str, value: Any) -> FilterReturn:
129
128
  "Strings are only comparable if they are ISO formatted dates."
130
129
  )
131
130
  raise FilterError(msg) from exc
132
- if type(value) in [list, DataFrame]:
131
+ if isinstance(value, list):
133
132
  msg = f"Filter value can't be of type {type(value)} using operators '>', '>=', '<', '<='"
134
133
  raise FilterError(msg)
135
134
  return weaviate.classes.query.Filter.by_property(field).greater_than(_handle_date(value))
@@ -151,7 +150,7 @@ def _greater_than_equal(field: str, value: Any) -> FilterReturn:
151
150
  "Strings are only comparable if they are ISO formatted dates."
152
151
  )
153
152
  raise FilterError(msg) from exc
154
- if type(value) in [list, DataFrame]:
153
+ if isinstance(value, list):
155
154
  msg = f"Filter value can't be of type {type(value)} using operators '>', '>=', '<', '<='"
156
155
  raise FilterError(msg)
157
156
  return weaviate.classes.query.Filter.by_property(field).greater_or_equal(_handle_date(value))
@@ -173,7 +172,7 @@ def _less_than(field: str, value: Any) -> FilterReturn:
173
172
  "Strings are only comparable if they are ISO formatted dates."
174
173
  )
175
174
  raise FilterError(msg) from exc
176
- if type(value) in [list, DataFrame]:
175
+ if isinstance(value, list):
177
176
  msg = f"Filter value can't be of type {type(value)} using operators '>', '>=', '<', '<='"
178
177
  raise FilterError(msg)
179
178
  return weaviate.classes.query.Filter.by_property(field).less_than(_handle_date(value))
@@ -195,7 +194,7 @@ def _less_than_equal(field: str, value: Any) -> FilterReturn:
195
194
  "Strings are only comparable if they are ISO formatted dates."
196
195
  )
197
196
  raise FilterError(msg) from exc
198
- if type(value) in [list, DataFrame]:
197
+ if isinstance(value, list):
199
198
  msg = f"Filter value can't be of type {type(value)} using operators '>', '>=', '<', '<='"
200
199
  raise FilterError(msg)
201
200
  return weaviate.classes.query.Filter.by_property(field).less_or_equal(_handle_date(value))
@@ -248,8 +247,6 @@ def _parse_comparison_condition(condition: Dict[str, Any]) -> FilterReturn:
248
247
  raise FilterError(msg)
249
248
  operator: str = condition["operator"]
250
249
  value: Any = condition["value"]
251
- if isinstance(value, DataFrame):
252
- value = value.to_json()
253
250
 
254
251
  return COMPARISON_OPERATORS[operator](field, value)
255
252
 
@@ -4,10 +4,10 @@
4
4
  import base64
5
5
  import datetime
6
6
  import json
7
- import logging
8
7
  from dataclasses import asdict
9
8
  from typing import Any, Dict, List, Optional
10
9
 
10
+ from haystack import logging
11
11
  from haystack.core.serialization import default_from_dict, default_to_dict
12
12
  from haystack.dataclasses.document import Document
13
13
  from haystack.document_stores.errors import DocumentStoreError, DuplicateDocumentError
@@ -39,7 +39,6 @@ logger = logging.getLogger(__name__)
39
39
  DOCUMENT_COLLECTION_PROPERTIES = [
40
40
  {"name": "_original_id", "dataType": ["text"]},
41
41
  {"name": "content", "dataType": ["text"]},
42
- {"name": "dataframe", "dataType": ["text"]},
43
42
  {"name": "blob_data", "dataType": ["blob"]},
44
43
  {"name": "blob_mime_type", "dataType": ["text"]},
45
44
  {"name": "score", "dataType": ["number"]},
@@ -58,8 +57,8 @@ DEFAULT_QUERY_LIMIT = 9999
58
57
 
59
58
  class WeaviateDocumentStore:
60
59
  """
61
- WeaviateDocumentStore is a Document Store for Weaviate.
62
- It can be used with Weaviate Cloud Services or self-hosted instances.
60
+ A WeaviateDocumentStore instance you
61
+ can use with Weaviate Cloud Services or self-hosted instances.
63
62
 
64
63
  Usage example with Weaviate Cloud Services:
65
64
  ```python
@@ -105,7 +104,6 @@ class WeaviateDocumentStore:
105
104
  properties:
106
105
  - _original_id: text
107
106
  - content: text
108
- - dataframe: text
109
107
  - blob_data: blob
110
108
  - blob_mime_type: text
111
109
  - score: number
@@ -291,17 +289,18 @@ class WeaviateDocumentStore:
291
289
  if "_split_overlap" in data:
292
290
  data.pop("_split_overlap")
293
291
  logger.warning(
294
- "Document %s has the unsupported `_split_overlap` meta field. It will be ignored.", data["_original_id"]
292
+ "Document {id} has the unsupported `_split_overlap` meta field. It will be ignored.",
293
+ id=data["_original_id"],
295
294
  )
296
295
 
297
296
  if "sparse_embedding" in data:
298
297
  sparse_embedding = data.pop("sparse_embedding", None)
299
298
  if sparse_embedding:
300
299
  logger.warning(
301
- "Document %s has the `sparse_embedding` field set,"
300
+ "Document {id} has the `sparse_embedding` field set,"
302
301
  "but storing sparse embeddings in Weaviate is not currently supported."
303
302
  "The `sparse_embedding` field will be ignored.",
304
- data["_original_id"],
303
+ id=data["_original_id"],
305
304
  )
306
305
 
307
306
  return data
@@ -46,7 +46,6 @@ def test_to_dict(_mock_weaviate):
46
46
  "properties": [
47
47
  {"name": "_original_id", "dataType": ["text"]},
48
48
  {"name": "content", "dataType": ["text"]},
49
- {"name": "dataframe", "dataType": ["text"]},
50
49
  {"name": "blob_data", "dataType": ["blob"]},
51
50
  {"name": "blob_mime_type", "dataType": ["text"]},
52
51
  {"name": "score", "dataType": ["number"]},
@@ -81,7 +80,6 @@ def test_from_dict(_mock_weaviate):
81
80
  "properties": [
82
81
  {"name": "_original_id", "dataType": ["text"]},
83
82
  {"name": "content", "dataType": ["text"]},
84
- {"name": "dataframe", "dataType": ["text"]},
85
83
  {"name": "blob_data", "dataType": ["blob"]},
86
84
  {"name": "blob_mime_type", "dataType": ["text"]},
87
85
  {"name": "score", "dataType": ["number"]},
@@ -119,7 +117,6 @@ def test_from_dict_no_filter_policy(_mock_weaviate):
119
117
  "properties": [
120
118
  {"name": "_original_id", "dataType": ["text"]},
121
119
  {"name": "content", "dataType": ["text"]},
122
- {"name": "dataframe", "dataType": ["text"]},
123
120
  {"name": "blob_data", "dataType": ["blob"]},
124
121
  {"name": "blob_mime_type", "dataType": ["text"]},
125
122
  {"name": "score", "dataType": ["number"]},
@@ -4,7 +4,6 @@
4
4
 
5
5
  import base64
6
6
  import os
7
- import random
8
7
  from typing import List
9
8
  from unittest.mock import MagicMock, patch
10
9
 
@@ -14,18 +13,16 @@ from haystack.dataclasses.byte_stream import ByteStream
14
13
  from haystack.dataclasses.document import Document
15
14
  from haystack.document_stores.errors import DocumentStoreError
16
15
  from haystack.testing.document_store import (
17
- TEST_EMBEDDING_1,
18
- TEST_EMBEDDING_2,
19
16
  CountDocumentsTest,
20
17
  DeleteDocumentsTest,
21
18
  FilterDocumentsTest,
22
19
  WriteDocumentsTest,
20
+ create_filterable_docs,
23
21
  )
24
22
  from haystack.utils.auth import Secret
25
23
  from numpy import array as np_array
26
24
  from numpy import array_equal as np_array_equal
27
25
  from numpy import float32 as np_float32
28
- from pandas import DataFrame
29
26
  from weaviate.collections.classes.data import DataObject
30
27
  from weaviate.config import AdditionalConfig, ConnectionConfig, Proxies, Timeout
31
28
  from weaviate.embedded import (
@@ -78,60 +75,10 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
78
75
  Weaviate forces RFC 3339 date strings.
79
76
  The original fixture uses ISO 8601 date strings.
80
77
  """
81
- documents = []
82
- for i in range(3):
83
- documents.append(
84
- Document(
85
- content=f"A Foo Document {i}",
86
- meta={
87
- "name": f"name_{i}",
88
- "page": "100",
89
- "chapter": "intro",
90
- "number": 2,
91
- "date": "1969-07-21T20:17:40Z",
92
- },
93
- embedding=[random.random() for _ in range(768)], # noqa: S311
94
- )
95
- )
96
- documents.append(
97
- Document(
98
- content=f"A Bar Document {i}",
99
- meta={
100
- "name": f"name_{i}",
101
- "page": "123",
102
- "chapter": "abstract",
103
- "number": -2,
104
- "date": "1972-12-11T19:54:58Z",
105
- },
106
- embedding=[random.random() for _ in range(768)], # noqa: S311
107
- )
108
- )
109
- documents.append(
110
- Document(
111
- content=f"A Foobar Document {i}",
112
- meta={
113
- "name": f"name_{i}",
114
- "page": "90",
115
- "chapter": "conclusion",
116
- "number": -10,
117
- "date": "1989-11-09T17:53:00Z",
118
- },
119
- embedding=[random.random() for _ in range(768)], # noqa: S311
120
- )
121
- )
122
- documents.append(
123
- Document(
124
- content=f"Document {i} without embedding",
125
- meta={"name": f"name_{i}", "no_embedding": True, "chapter": "conclusion"},
126
- )
127
- )
128
- documents.append(Document(dataframe=DataFrame([i]), meta={"name": f"table_doc_{i}"}))
129
- documents.append(
130
- Document(content=f"Doc {i} with zeros emb", meta={"name": "zeros_doc"}, embedding=TEST_EMBEDDING_1)
131
- )
132
- documents.append(
133
- Document(content=f"Doc {i} with ones emb", meta={"name": "ones_doc"}, embedding=TEST_EMBEDDING_2)
134
- )
78
+ documents = create_filterable_docs()
79
+ for i in range(len(documents)):
80
+ if date := documents[i].meta.get("date"):
81
+ documents[i].meta["date"] = f"{date}Z"
135
82
  return documents
136
83
 
137
84
  def assert_documents_are_equal(self, received: List[Document], expected: List[Document]):
@@ -238,7 +185,6 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
238
185
  "properties": [
239
186
  {"name": "_original_id", "dataType": ["text"]},
240
187
  {"name": "content", "dataType": ["text"]},
241
- {"name": "dataframe", "dataType": ["text"]},
242
188
  {"name": "blob_data", "dataType": ["blob"]},
243
189
  {"name": "blob_mime_type", "dataType": ["text"]},
244
190
  {"name": "score", "dataType": ["number"]},
@@ -320,7 +266,6 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
320
266
  "properties": [
321
267
  {"name": "_original_id", "dataType": ["text"]},
322
268
  {"name": "content", "dataType": ["text"]},
323
- {"name": "dataframe", "dataType": ["text"]},
324
269
  {"name": "blob_data", "dataType": ["blob"]},
325
270
  {"name": "blob_mime_type", "dataType": ["text"]},
326
271
  {"name": "score", "dataType": ["number"]},
@@ -348,7 +293,6 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
348
293
  assert data == {
349
294
  "_original_id": doc.id,
350
295
  "content": doc.content,
351
- "dataframe": None,
352
296
  "score": None,
353
297
  }
354
298
 
@@ -365,7 +309,6 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
365
309
  "content": doc.content,
366
310
  "blob_data": base64.b64encode(image.data).decode(),
367
311
  "blob_mime_type": "image/jpeg",
368
- "dataframe": None,
369
312
  "score": None,
370
313
  "key": "value",
371
314
  }
@@ -378,7 +321,6 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
378
321
  "content": "some content",
379
322
  "blob_data": base64.b64encode(image.data).decode(),
380
323
  "blob_mime_type": "image/jpeg",
381
- "dataframe": None,
382
324
  "score": None,
383
325
  "key": "value",
384
326
  },
@@ -504,10 +446,6 @@ class TestWeaviateDocumentStore(CountDocumentsTest, WriteDocumentsTest, DeleteDo
504
446
  ],
505
447
  )
506
448
 
507
- @pytest.mark.skip(reason="Weaviate for some reason is not returning what we expect")
508
- def test_comparison_not_equal_with_dataframe(self, document_store, filterable_docs):
509
- return super().test_comparison_not_equal_with_dataframe(document_store, filterable_docs)
510
-
511
449
  def test_meta_split_overlap_is_skipped(self, document_store):
512
450
  doc = Document(
513
451
  content="The moonlight shimmered ",
@@ -56,7 +56,6 @@ def test_to_dict(_mock_weaviate):
56
56
  "properties": [
57
57
  {"name": "_original_id", "dataType": ["text"]},
58
58
  {"name": "content", "dataType": ["text"]},
59
- {"name": "dataframe", "dataType": ["text"]},
60
59
  {"name": "blob_data", "dataType": ["blob"]},
61
60
  {"name": "blob_mime_type", "dataType": ["text"]},
62
61
  {"name": "score", "dataType": ["number"]},
@@ -93,7 +92,6 @@ def test_from_dict(_mock_weaviate):
93
92
  "properties": [
94
93
  {"name": "_original_id", "dataType": ["text"]},
95
94
  {"name": "content", "dataType": ["text"]},
96
- {"name": "dataframe", "dataType": ["text"]},
97
95
  {"name": "blob_data", "dataType": ["blob"]},
98
96
  {"name": "blob_mime_type", "dataType": ["text"]},
99
97
  {"name": "score", "dataType": ["number"]},
@@ -135,7 +133,6 @@ def test_from_dict_no_filter_policy(_mock_weaviate):
135
133
  "properties": [
136
134
  {"name": "_original_id", "dataType": ["text"]},
137
135
  {"name": "content", "dataType": ["text"]},
138
- {"name": "dataframe", "dataType": ["text"]},
139
136
  {"name": "blob_data", "dataType": ["blob"]},
140
137
  {"name": "blob_mime_type", "dataType": ["text"]},
141
138
  {"name": "score", "dataType": ["number"]},
@@ -1,86 +0,0 @@
1
- # Changelog
2
-
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)
10
-
11
- ### ⚙️ Miscellaneous Tasks
12
-
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)
17
-
18
- ## [integrations/weaviate-v2.2.1] - 2024-09-07
19
-
20
- ### 🚀 Features
21
-
22
- - Add filter_policy to weaviate integration (#824)
23
-
24
- ### 🐛 Bug Fixes
25
-
26
- - Weaviate filter error (#811)
27
- - Fix connection to Weaviate Cloud Service (#624)
28
- - Pin weaviate-client (#1046)
29
- - Weaviate - fix connection issues with some WCS URLs (#1058)
30
-
31
- ### 🧪 Testing
32
-
33
- - Do not retry tests in `hatch run test` command (#954)
34
-
35
- ### ⚙️ Miscellaneous Tasks
36
-
37
- - Retry tests to reduce flakyness (#836)
38
- - Update ruff invocation to include check parameter (#853)
39
-
40
- ## [integrations/weaviate-v2.1.0] - 2024-06-10
41
-
42
- ### 🚀 Features
43
-
44
- - Defer the database connection to when it's needed (#802)
45
-
46
- ### 🐛 Bug Fixes
47
-
48
- - Weaviate schema class name conversion which preserves PascalCase (#707)
49
-
50
- ## [integrations/weaviate-v2.0.0] - 2024-03-25
51
-
52
- ### 📚 Documentation
53
-
54
- - Disable-class-def (#556)
55
- - Fix docstrings (#586)
56
-
57
- ### Weaviate
58
-
59
- - Migrate from weaviate python client v3 to v4 (#463)
60
-
61
- ## [integrations/weaviate-v1.0.2] - 2024-02-27
62
-
63
- ### 🐛 Bug Fixes
64
-
65
- - Fix order of API docs (#447)
66
-
67
- This PR will also push the docs to Readme
68
- - Fix weaviate auth tests (#488)
69
-
70
- ### 📚 Documentation
71
-
72
- - Update category slug (#442)
73
-
74
- ### Weaviate
75
-
76
- - Make retrievers return dicts (#491)
77
-
78
- ## [integrations/weaviate-v1.0.0] - 2024-02-15
79
-
80
- ### 🚀 Features
81
-
82
- - Generate weaviate API docs (#351)
83
-
84
- ## [integrations/weaviate-v0.0.0] - 2024-01-10
85
-
86
- <!-- generated by git-cliff -->
@@ -5,10 +5,10 @@ from .auth import AuthApiKey, AuthBearerToken, AuthClientCredentials, AuthClient
5
5
  from .document_store import WeaviateDocumentStore
6
6
 
7
7
  __all__ = [
8
- "WeaviateDocumentStore",
9
8
  "AuthApiKey",
10
9
  "AuthBearerToken",
11
10
  "AuthClientCredentials",
12
11
  "AuthClientPassword",
13
12
  "AuthCredentials",
13
+ "WeaviateDocumentStore",
14
14
  ]