Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ Fix — split positional indices instead of the frame, then select rows with `il
return [pd.DataFrame(fold) for fold in np.array_split(reports, n)]

# Fixed — preserves columns, dtypes, and even fold sizes
return [
reports.iloc[indices]
for indices in np.array_split(np.arange(len(reports)), n)
]
return [reports.iloc[indices] for indices in np.array_split(np.arange(len(reports)), n)]
```

### `copy=` keyword removed from `merge`/`concat`/`join`/`set_axis` etc.
Expand Down
4 changes: 4 additions & 0 deletions .semversioner/next-release/patch-20260818203711168483.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "patch",
"description": "Update dependencies to their latest versions."
}
2 changes: 2 additions & 0 deletions docs/config/models.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,12 @@ Once you have a model implementation, you need to register it with our completio
```python
from graphrag_llm.completion import LLMCompletion, register_completion


class MyCustomCompletionModel(LLMCompletion):
...
# implementation


# elsewhere...
register_completion("my-custom-completion-model", MyCustomCompletionModel)
```
Expand Down
5 changes: 3 additions & 2 deletions packages/graphrag-cache/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@ from graphrag_cache.json_cache import JsonCache
# May also register a custom implementation, see above for example.
cache_factory.register("my_cache_impl", JsonCache)

cache = cache_factory.create(strategy="my_cache_impl", init_args={"some_setting": "..."})
cache = cache_factory.create(
strategy="my_cache_impl", init_args={"some_setting": "..."}
)

...

```
2 changes: 1 addition & 1 deletion packages/graphrag-chunking/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ classifiers = [
]
dependencies = [
"graphrag-common==3.1.1",
"pydantic~=2.10",
"pydantic~=2.13",
]

[project.urls]
Expand Down
2 changes: 1 addition & 1 deletion packages/graphrag-common/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ classifiers = [
"Programming Language :: Python :: 3.13",
]
dependencies = [
"python-dotenv~=1.0",
"python-dotenv~=1.2",
"pyyaml~=6.0",
"toml~=0.10",
]
Expand Down
2 changes: 1 addition & 1 deletion packages/graphrag-input/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ classifiers = [
dependencies = [
"graphrag-common==3.1.1",
"graphrag-storage==3.1.1",
"pydantic~=2.10",
"pydantic~=2.13",
"markitdown[pdf]~=0.1.0",
"pyarrow>=14.0.0"
]
Expand Down
6 changes: 3 additions & 3 deletions packages/graphrag-llm/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ dependencies = [
"graphrag-cache==3.1.1",
"graphrag-common==3.1.1",
"jinja2~=3.1",
"litellm==1.92.0",
"litellm==1.97.0",
"nest-asyncio2~=1.7",
# orjson is required for litellm tool calling. https://github.com/BerriAI/litellm/issues/32993
"orjson>=3.11.6,<4.0",
"pydantic~=2.10",
"typing-extensions~=4.12",
"pydantic~=2.13",
"typing-extensions~=4.16",
]

[project.urls]
Expand Down
5 changes: 3 additions & 2 deletions packages/graphrag-storage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ from graphrag_storage.file_storage import FileStorage
# May also register a custom implementation, see above for example.
storage_factory.register("my_storage_key", FileStorage)

storage = storage_factory.create(strategy="my_storage_key", init_args={"base_dir": "...", "other_settings": "..."})
storage = storage_factory.create(
strategy="my_storage_key", init_args={"base_dir": "...", "other_settings": "..."}
)

...

```
6 changes: 3 additions & 3 deletions packages/graphrag-storage/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ classifiers = [
]
dependencies = [
"aiofiles~=25.1",
"azure-cosmos~=4.9",
"azure-cosmos~=4.16",
"azure-identity~=1.25",
"azure-storage-blob~=12.24",
"azure-storage-blob~=12.30",
"graphrag-common==3.1.1",
"pandas~=3.0",
"pydantic~=2.10",
"pydantic~=2.13",
]

[project.urls]
Expand Down
8 changes: 4 additions & 4 deletions packages/graphrag-vectors/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ classifiers = [
"Programming Language :: Python :: 3.13",
]
dependencies = [
"azure-core~=1.32",
"azure-cosmos~=4.9",
"azure-core~=1.41",
"azure-cosmos~=4.16",
"azure-identity~=1.25",
"azure-search-documents~=12.0",
"graphrag-common==3.1.1",
"lancedb~=0.34.0",
"lancedb~=0.37.0",
"numpy~=2.1",
"pyarrow~=25.0",
"pydantic~=2.10",
"pydantic~=2.13",
]

[project.urls]
Expand Down
20 changes: 10 additions & 10 deletions packages/graphrag/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ classifiers = [
dependencies = [
"azure-identity~=1.25",
"azure-search-documents~=12.0",
"azure-storage-blob~=12.24",
"azure-storage-blob~=12.30",
"devtools~=0.12",
"graphrag-cache==3.1.1",
"graphrag-chunking==3.1.1",
Expand All @@ -47,19 +47,19 @@ dependencies = [
# output (community counts/levels), which breaks pinned regression tests and the
# golden community data. Revisit deliberately with a golden-data refresh.
"graspologic-native>=1.2,<1.3",
"json-repair~=0.30",
"networkx~=3.4",
"nltk~=3.9",
"json-repair~=0.63",
"networkx~=3.6",
"nltk~=3.10",
"numpy~=2.1",
"pandas~=3.0",
"pyarrow~=25.0",
"pydantic~=2.10",
"pydantic~=2.13",
"spacy~=3.8",
"blis~=1.0",
"textblob~=0.18",
"tqdm~=4.67",
"typing-extensions~=4.12",
"typer~=0.16",
"blis~=1.3",
"textblob~=0.20",
"tqdm~=4.70",
"typing-extensions~=4.16",
"typer~=0.27",
]

[project.scripts]
Expand Down
24 changes: 15 additions & 9 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,23 +25,23 @@ requires-python = ">=3.11,<3.14"

[dependency-groups]
dev = [
"coverage~=7.6",
"deptry~=0.21",
"coverage~=7.15",
"deptry~=0.25",
"ipykernel~=7.3",
"jupyter~=1.1",
"mkdocs-material~=9.5",
"mkdocs-jupyter~=0.25",
"mkdocs-material~=9.7",
"mkdocs-jupyter~=0.26",
"mkdocs-exclude-search~=0.6",
"mkdocs-typer~=0.0.3",
"nbconvert~=7.16",
"nbconvert~=7.17",
"pandas-stubs~=3.0",
"poethepoet~=0.31",
"poethepoet~=0.48",
"pyright~=1.1",
"pytest~=9.1",
"pytest-asyncio~=1.4",
"pytest-dotenv~=0.5",
"pytest-timeout~=2.3",
"ruff~=0.8",
"pytest-timeout~=2.4",
"ruff~=0.16",
"semversioner~=3.0",
"update-toml~=0.2",
"pytest-xdist[psutil]~=3.8.0",
Expand Down Expand Up @@ -224,7 +224,13 @@ ignore = [
"PERF203", # Needs restructuring of errors, we should bail-out on first error
"C901", # needs refactoring to remove cyclomatic complexity
"B008", # Needs to restructure our cli params with Typer into constants
"ASYNC240"
"ASYNC240",
# Opinionated preview rule (ruff >=0.16) that flags `# noqa` in favor of
# `# ruff: ignore`; we intentionally keep `# noqa` comments.
"RUF105",
# Opinionated preview rule (ruff >=0.16) that flags rule codes (instead of
# names) in the lint selectors below; we intentionally use rule codes.
"RUF201",
]

[tool.ruff.lint.per-file-ignores]
Expand Down
Loading
Loading