88from weaviate .collections .batch .collection import _BatchCollectionWrapper
99from weaviate .collections .classes .cluster import Shard
1010from weaviate .collections .classes .config import ConsistencyLevel
11+ from weaviate .collections .classes .filters import _Filters
1112from weaviate .collections .classes .grpc import METADATA , PROPERTIES , REFERENCES
1213from weaviate .collections .classes .internal import (
1314 CrossReferences ,
2526from weaviate .collections .query import _QueryCollection
2627from weaviate .collections .tenants import _Tenants
2728from weaviate .connect .v4 import ConnectionSync
29+ from weaviate .exceptions import WeaviateUnsupportedFeatureError
2830from weaviate .types import UUID
2931
3032from .base import _CollectionBase
@@ -221,6 +223,7 @@ def iterator(
221223 include_vector : bool = False ,
222224 return_metadata : Optional [METADATA ] = None ,
223225 * ,
226+ filters : Optional [_Filters ] = None ,
224227 return_properties : Optional [PROPERTIES ] = None ,
225228 return_references : Literal [None ] = None ,
226229 after : Optional [UUID ] = None ,
@@ -233,6 +236,7 @@ def iterator(
233236 include_vector : bool = False ,
234237 return_metadata : Optional [METADATA ] = None ,
235238 * ,
239+ filters : Optional [_Filters ] = None ,
236240 return_properties : Optional [PROPERTIES ] = None ,
237241 return_references : REFERENCES ,
238242 after : Optional [UUID ] = None ,
@@ -245,6 +249,7 @@ def iterator(
245249 include_vector : bool = False ,
246250 return_metadata : Optional [METADATA ] = None ,
247251 * ,
252+ filters : Optional [_Filters ] = None ,
248253 return_properties : Optional [PROPERTIES ] = None ,
249254 return_references : Type [TReferences ],
250255 after : Optional [UUID ] = None ,
@@ -257,6 +262,7 @@ def iterator(
257262 include_vector : bool = False ,
258263 return_metadata : Optional [METADATA ] = None ,
259264 * ,
265+ filters : Optional [_Filters ] = None ,
260266 return_properties : Type [TProperties ],
261267 return_references : Literal [None ] = None ,
262268 after : Optional [UUID ] = None ,
@@ -269,6 +275,7 @@ def iterator(
269275 include_vector : bool = False ,
270276 return_metadata : Optional [METADATA ] = None ,
271277 * ,
278+ filters : Optional [_Filters ] = None ,
272279 return_properties : Type [TProperties ],
273280 return_references : REFERENCES ,
274281 after : Optional [UUID ] = None ,
@@ -281,6 +288,7 @@ def iterator(
281288 include_vector : bool = False ,
282289 return_metadata : Optional [METADATA ] = None ,
283290 * ,
291+ filters : Optional [_Filters ] = None ,
284292 return_properties : Type [TProperties ],
285293 return_references : Type [TReferences ],
286294 after : Optional [UUID ] = None ,
@@ -292,6 +300,7 @@ def iterator(
292300 include_vector : bool = False ,
293301 return_metadata : Optional [METADATA ] = None ,
294302 * ,
303+ filters : Optional [_Filters ] = None ,
295304 return_properties : Optional [ReturnProperties [TProperties ]] = None ,
296305 return_references : Optional [ReturnReferences [TReferences ]] = None ,
297306 after : Optional [UUID ] = None ,
@@ -315,6 +324,7 @@ def iterator(
315324 are returned. Use `wvc.QueryReference` to specify which references to return.
316325
317326 Args:
327+ filters: The filters to apply to the query.
318328 include_vector: Whether to include the vector in the metadata of the returned objects.
319329 return_metadata: The metadata to return with each object.
320330 return_properties: The properties to return with each object.
@@ -325,9 +335,15 @@ def iterator(
325335 Raises:
326336 weaviate.exceptions.WeaviateGRPCQueryError: If the request to the Weaviate server fails.
327337 """
338+ if self .query ._connection ._weaviate_version .is_lower_than (1 , 33 , 0 ):
339+ raise WeaviateUnsupportedFeatureError (
340+ "Iterator with filters" , self ._connection .server_version , "1.33.0"
341+ )
342+
328343 return _ObjectIterator (
329344 self .query ,
330345 _IteratorInputs (
346+ filters = filters ,
331347 include_vector = include_vector ,
332348 return_metadata = return_metadata ,
333349 return_properties = return_properties ,
0 commit comments