From 63f9989b3799299d605e58c5cd1dd514c1f065e7 Mon Sep 17 00:00:00 2001 From: Lars Varming Date: Mon, 10 Nov 2025 11:44:51 +0100 Subject: [PATCH] Create graphiti-core-varming package + update mcp_server dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit implements proper architecture for maintaining the database fix: 1. Created graphiti-core-varming package (v0.23.1-varming.1) - Fork of graphiti-core 0.23.0 with database parameter fix - Published as separate package to PyPI - Maintains clean separation from upstream - Package name: graphiti-core-varming - Author: Lars Varming 2. Updated mcp_server to depend on graphiti-core-varming - Changed all graphiti-core dependencies to graphiti-core-varming - Version: >=0.23.1-varming.1 - Updated in: dependencies, falkordb extra, all extra, dev extra - Updated local development override comment 3. Created GitHub workflow for graphiti-core-varming - Workflow: .github/workflows/publish-graphiti-core-varming.yml - Triggers on tags: core-v*.*.*-varming.* - Also supports manual workflow_dispatch - Publishes to PyPI using UV_PUBLISH_TOKEN Benefits: - Clean separation between core fix and MCP server - Easy to contribute fix back to upstream - Independent versioning - Proper package management - No bundling or hacks Files Modified: - pyproject.toml (root - graphiti-core-varming package definition) - mcp_server/pyproject.toml (dependency update) - .github/workflows/publish-graphiti-core-varming.yml (new) Next Steps: 1. Manually trigger publish-graphiti-core-varming workflow 2. Wait for graphiti-core-varming to be available on PyPI 3. Update mcp_server to v1.0.6 4. Publish mcp_server with tag mcp-v1.0.6 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../publish-graphiti-core-varming.yml | 69 +++++++++++++++++++ mcp_server/pyproject.toml | 14 ++-- pyproject.toml | 12 ++-- 3 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/publish-graphiti-core-varming.yml diff --git a/.github/workflows/publish-graphiti-core-varming.yml b/.github/workflows/publish-graphiti-core-varming.yml new file mode 100644 index 00000000..50782b7d --- /dev/null +++ b/.github/workflows/publish-graphiti-core-varming.yml @@ -0,0 +1,69 @@ +name: Publish graphiti-core-varming to PyPI + +on: + push: + tags: + - 'core-v*.*.*-varming.*' # Triggers on tags like core-v0.23.1-varming.1 + workflow_dispatch: # Allow manual triggering + +jobs: + publish: + name: Publish graphiti-core-varming to PyPI + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + enable-cache: true + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Build package + run: | + # Build graphiti-core-varming from root + uv build + + - name: Publish to PyPI + env: + UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }} + run: | + uv publish + + - name: Create GitHub Release + uses: softprops/action-gh-release@v1 + with: + files: dist/* + generate_release_notes: true + body: | + ## graphiti-core-varming Release + + This is a fork of graphiti-core with critical bug fixes. + + ### Changes in this fork: + - **Fixed database parameter bug**: Neo4j `database_` parameter now correctly passed as keyword argument + - All queries now execute in the configured database instead of default 'neo4j' + + ### Upstream Version + Based on graphiti-core 0.23.0 from https://github.com/getzep/graphiti + + ### Installation + ```bash + pip install graphiti-core-varming + ``` + + ### Usage + Drop-in replacement for graphiti-core: + ```python + # Instead of: from graphiti_core import Graphiti + # Use the same import (package name is different, module name is same): + from graphiti_core import Graphiti + ``` + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/mcp_server/pyproject.toml b/mcp_server/pyproject.toml index 6529918b..5945df5a 100644 --- a/mcp_server/pyproject.toml +++ b/mcp_server/pyproject.toml @@ -31,7 +31,7 @@ classifiers = [ dependencies = [ "mcp>=1.21.0", "openai>=1.91.0", - "graphiti-core>=0.16.0", # Includes neo4j driver by default + "graphiti-core-varming>=0.23.1-varming.1", # Varming fork with database parameter fix "pydantic-settings>=2.0.0", "pyyaml>=6.0", ] @@ -45,8 +45,8 @@ Repository = "https://github.com/Varming73/graphiti" Issues = "https://github.com/Varming73/graphiti/issues" [project.optional-dependencies] -# FalkorDB support (Neo4j is included in graphiti-core by default) -falkordb = ["graphiti-core[falkordb]>=0.16.0"] +# FalkorDB support (Neo4j is included in graphiti-core-varming by default) +falkordb = ["graphiti-core-varming[falkordb]>=0.23.1-varming.1"] # Azure support azure = [ @@ -72,7 +72,7 @@ providers = [ # All optional features all = [ - "graphiti-core[falkordb]>=0.16.0", + "graphiti-core-varming[falkordb]>=0.23.1-varming.1", "azure-identity>=1.21.0", "google-genai>=1.8.0", "anthropic>=0.49.0", @@ -82,7 +82,7 @@ all = [ ] dev = [ - "graphiti-core>=0.16.0", + "graphiti-core-varming>=0.23.1-varming.1", "httpx>=0.28.1", "mcp>=1.21.0", "pyright>=1.1.404", @@ -121,9 +121,9 @@ quote-style = "single" indent-style = "space" docstring-code-format = true -# Note: For local development, you can override graphiti-core source: +# Note: For local development, you can override graphiti-core-varming source: # [tool.uv.sources] -# graphiti-core = { path = "../", editable = true } +# graphiti-core-varming = { path = "../", editable = true } [dependency-groups] dev = [ diff --git a/pyproject.toml b/pyproject.toml index c5821657..b5825d01 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,11 +1,12 @@ [project] -name = "graphiti-core" -description = "A temporal graph building library" -version = "0.23.0" +name = "graphiti-core-varming" +description = "A temporal graph building library (Varming fork with database parameter fix)" +version = "0.23.1-varming.1" authors = [ { name = "Paul Paliychuk", email = "paul@getzep.com" }, { name = "Preston Rasmussen", email = "preston@getzep.com" }, { name = "Daniel Chalef", email = "daniel@getzep.com" }, + { name = "Lars Varming", email = "lars.varming@gmail.com" }, ] readme = "README.md" license = "Apache-2.0" @@ -22,8 +23,9 @@ dependencies = [ ] [project.urls] -Homepage = "https://help.getzep.com/graphiti/graphiti/overview" -Repository = "https://github.com/getzep/graphiti" +Homepage = "https://github.com/Varming73/graphiti" +Repository = "https://github.com/Varming73/graphiti" +Upstream = "https://github.com/getzep/graphiti" [project.optional-dependencies] anthropic = ["anthropic>=0.49.0"]