diff --git a/docarray/index/abstract.py b/docarray/index/abstract.py index 17da44221d8..13f4837cd61 100644 --- a/docarray/index/abstract.py +++ b/docarray/index/abstract.py @@ -900,3 +900,6 @@ def _dict_list_to_docarray(self, dict_list: Sequence[Dict[str, Any]]) -> DocList doc_list = [self._convert_dict_to_doc(doc_dict, self._schema) for doc_dict in dict_list] # type: ignore docs_cls = DocList.__class_getitem__(cast(Type[BaseDoc], self._schema)) return docs_cls(doc_list) + + def __len__(self) -> int: + return self.num_docs() diff --git a/tests/index/base_classes/test_base_doc_store.py b/tests/index/base_classes/test_base_doc_store.py index e3c8c455bba..83b5dcd45d2 100644 --- a/tests/index/base_classes/test_base_doc_store.py +++ b/tests/index/base_classes/test_base_doc_store.py @@ -71,7 +71,7 @@ def python_type_to_db_type(self, x): return str _index = _identity - num_docs = _identity + num_docs = lambda n: 3 _del_items = _identity _get_items = _identity execute_query = _identity @@ -572,3 +572,9 @@ def test_validate_search_fields(): # 'ten' is not a valid field with pytest.raises(ValueError): index._validate_search_field('ten') + + +def test_len(): + store = DummyDocIndex[SimpleDoc]() + count = len(store) + assert count == 3