Skip to content

Commit 9658402

Browse files
Fix mypy issues
1 parent daa46d3 commit 9658402

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

examples/customize/build_graph/components/loaders/custom_loader.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
"""Create a custom data loader to transform content into text."""
22

33
from pathlib import Path
4-
from typing import Dict, Optional
4+
from typing import Dict, Optional, Union
5+
6+
from fsspec import AbstractFileSystem
57

68
from neo4j_graphrag.experimental.components.data_loader import DataLoader
79
from neo4j_graphrag.experimental.components.types import DocumentInfo, LoadedDocument
@@ -10,10 +12,12 @@
1012
class MyLoader(DataLoader):
1113
async def run(
1214
self,
13-
filepath: Path,
15+
filepath: Union[str, Path],
1416
metadata: Optional[Dict[str, str]] = None,
17+
fs: Optional[Union[AbstractFileSystem, str]] = None,
1518
) -> LoadedDocument:
16-
# Implement logic here
19+
# Implement logic here; use ``fs`` when reading from non-local storage.
20+
_ = fs
1721
return LoadedDocument(
1822
text="<extracted text>",
1923
document_info=DocumentInfo(

tests/unit/experimental/pipeline/config/template_pipeline/test_simple_kg_builder.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@
3333
from neo4j_graphrag.experimental.components.text_splitters.fixed_size_splitter import (
3434
FixedSizeSplitter,
3535
)
36-
from neo4j_graphrag.experimental.pipeline.config.object_config import ComponentConfig
36+
from neo4j_graphrag.experimental.pipeline.config.object_config import (
37+
ComponentConfig,
38+
ComponentType,
39+
)
3740
from neo4j_graphrag.experimental.pipeline.config.template_pipeline import (
3841
SimpleKGPipelineConfig,
3942
)
@@ -70,7 +73,7 @@ def test_simple_kg_pipeline_config_pdf_loader_deprecated_maps_to_file_loader() -
7073
with pytest.warns(DeprecationWarning, match="pdf_loader"):
7174
config = SimpleKGPipelineConfig(
7275
from_file=True,
73-
pdf_loader=my_loader,
76+
pdf_loader=ComponentType(my_loader),
7477
)
7578
assert config._get_file_loader() == my_loader
7679

@@ -79,24 +82,28 @@ def test_simple_kg_pipeline_config_pdf_loader_and_file_loader_conflict() -> None
7982
with pytest.raises(ValueError, match="pdf_loader"):
8083
SimpleKGPipelineConfig(
8184
from_file=True,
82-
file_loader=PdfLoader(), # type: ignore[call-arg]
83-
pdf_loader=PdfLoader(),
85+
file_loader=ComponentType(PdfLoader()),
86+
pdf_loader=ComponentType(PdfLoader()),
8487
)
8588

8689

8790
def test_simple_kg_pipeline_config_file_loader_from_file_is_true_class_overwrite() -> (
8891
None
8992
):
9093
my_file_loader = PdfLoader()
91-
config = SimpleKGPipelineConfig(from_file=True, file_loader=my_file_loader) # type: ignore
94+
config = SimpleKGPipelineConfig(
95+
from_file=True, file_loader=ComponentType(my_file_loader)
96+
)
9297
assert config._get_file_loader() == my_file_loader
9398

9499

95100
def test_simple_kg_pipeline_config_file_loader_class_overwrite_but_from_file_is_false() -> (
96101
None
97102
):
98103
my_file_loader = PdfLoader()
99-
config = SimpleKGPipelineConfig(from_file=False, file_loader=my_file_loader) # type: ignore
104+
config = SimpleKGPipelineConfig(
105+
from_file=False, file_loader=ComponentType(my_file_loader)
106+
)
100107
assert config._get_file_loader() is None
101108

102109

@@ -111,7 +118,7 @@ def test_simple_kg_pipeline_config_file_loader_from_file_is_true_class_overwrite
111118
mock_component_parse.return_value = my_file_loader
112119
config = SimpleKGPipelineConfig(
113120
from_file=True,
114-
file_loader=my_file_loader_config, # type: ignore
121+
file_loader=ComponentType(my_file_loader_config),
115122
)
116123
assert config._get_file_loader() == my_file_loader
117124

0 commit comments

Comments
 (0)