From 830f0396d83eebe20f1c0968b0db2fb1c2cacc36 Mon Sep 17 00:00:00 2001 From: William Mcgrann <495062882@qq.com> Date: Fri, 5 Jun 2026 17:14:46 +0800 Subject: [PATCH] build: add version floors to networkx, datasketch, rapidfuzz MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds lower-bound version constraints matching tested versions in uv.lock. networkx>=3.4 is the binding constraint (edges= kwarg on node_link_data introduced in 3.4). rapidfuzz>=3.0 guards against the 2.x→3.x API break in rapidfuzz.distance. datasketch>=1.6 is conservative but correct. Also fixes stale uv.lock version metadata (0.8.30→0.8.31). --- pyproject.toml | 6 +++--- uv.lock | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index f7825022..ca323461 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,9 +11,9 @@ license = { file = "LICENSE" } keywords = ["claude", "claude-code", "codex", "opencode", "kilo", "cursor", "gemini", "aider", "kiro", "pi", "devin", "knowledge-graph", "rag", "graphrag", "obsidian", "community-detection", "tree-sitter", "leiden", "llm"] requires-python = ">=3.10" dependencies = [ - "networkx", - "datasketch", - "rapidfuzz", + "networkx>=3.4", + "datasketch>=1.6", + "rapidfuzz>=3.0", "tree-sitter>=0.23.0", "tree-sitter-python", "tree-sitter-javascript", diff --git a/uv.lock b/uv.lock index ddd60580..a2a2b4ef 100644 --- a/uv.lock +++ b/uv.lock @@ -1137,7 +1137,7 @@ wheels = [ [[package]] name = "graphifyy" -version = "0.8.30" +version = "0.8.31" source = { editable = "." } dependencies = [ { name = "datasketch" }, @@ -1279,7 +1279,7 @@ requires-dist = [ { name = "anthropic", marker = "extra == 'anthropic'" }, { name = "boto3", marker = "extra == 'all'" }, { name = "boto3", marker = "extra == 'bedrock'" }, - { name = "datasketch" }, + { name = "datasketch", specifier = ">=1.6" }, { name = "faster-whisper", marker = "python_full_version >= '3.11' and extra == 'all'" }, { name = "faster-whisper", marker = "python_full_version >= '3.11' and extra == 'video'" }, { name = "graspologic", marker = "python_full_version < '3.13' and extra == 'all'" }, @@ -1294,7 +1294,7 @@ requires-dist = [ { name = "mcp", marker = "extra == 'mcp'" }, { name = "neo4j", marker = "extra == 'all'" }, { name = "neo4j", marker = "extra == 'neo4j'" }, - { name = "networkx" }, + { name = "networkx", specifier = ">=3.4" }, { name = "openai", marker = "extra == 'all'" }, { name = "openai", marker = "extra == 'gemini'" }, { name = "openai", marker = "extra == 'kimi'" }, @@ -1307,7 +1307,7 @@ requires-dist = [ { name = "pypdf", marker = "extra == 'pdf'" }, { name = "python-docx", marker = "extra == 'all'" }, { name = "python-docx", marker = "extra == 'office'" }, - { name = "rapidfuzz" }, + { name = "rapidfuzz", specifier = ">=3.0" }, { name = "tiktoken", marker = "extra == 'all'" }, { name = "tiktoken", marker = "extra == 'gemini'" }, { name = "tiktoken", marker = "extra == 'kimi'" },