From dcbde330e4c319fee12d09b097cf4a1f46c3c1a0 Mon Sep 17 00:00:00 2001 From: Alexander Miroshnichenko Date: Tue, 6 Oct 2026 19:50:01 +0300 Subject: [PATCH] fix(graphify): roll pin back to v0.9.77 The 1.0.0 bump took a bogus tag. Graphify-Labs/graphify carries a v1.0.0 branch from 2026-04-05 that sits 2126 commits behind v0.9.77, still ships pyproject name graphifyy 0.1.10, and never reached PyPI, where 0.9.77 is the latest release. nix-update picked it because it is the highest semver tag available. It also does not build here. Its pyproject hard-requires graspologic, which pulls python-future, and nixpkgs disables that for Python >= 3.13 (this flake is on 3.14). Lowering the interpreter is no way out either: python312 fails further down the chain on falcon and hyppo. 0.9.x ships a networkx Louvain fallback for a missing Leiden backend; 1.0.0 imports graspologic.partition.leiden unconditionally, so it is worse code even if it did build. Dependency corrections for the pinned source: - datasketch dropped: upstream vendored MinHash into graphify/_minhash.py, which also retires the pybloomfilter3 dontCheckPythonMetadata workaround in default.nix - numpy added: graphify/_minhash.py imports it directly Verified with nix build .#graphify (pythonImportsCheck passes) and graphify --version reporting 0.9.77. Refs nix-overlay-olq --- packages/graphify/default.nix | 16 +--------------- packages/graphify/package.nix | 10 +++++++--- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/packages/graphify/default.nix b/packages/graphify/default.nix index abc469f..291b4f4 100644 --- a/packages/graphify/default.nix +++ b/packages/graphify/default.nix @@ -2,18 +2,4 @@ pkgs, ... }: -# nixpkgs' pybloomfilter3 0.7.3 (a datasketch dependency) ships sdist metadata -# that still says 0.7.2, which makes pythonMetadataCheckPhase fail even though -# the build succeeds. Skip only that check. -let - python = pkgs.python3.override { - packageOverrides = self: super: { - pybloomfilter3 = super.pybloomfilter3.overridePythonAttrs (_: { - dontCheckPythonMetadata = true; - }); - }; - }; -in -python.pkgs.callPackage ./package.nix { - python3Packages = python.pkgs; -} +pkgs.callPackage ./package.nix { } diff --git a/packages/graphify/package.nix b/packages/graphify/package.nix index 90838a8..9efda3d 100644 --- a/packages/graphify/package.nix +++ b/packages/graphify/package.nix @@ -6,14 +6,18 @@ python3Packages.buildPythonApplication rec { pname = "graphify"; - version = "1.0.0"; + version = "0.9.77"; pyproject = true; + # Do not bump to the v1.0.0 tag: it is a stale branch 2126 commits behind + # v0.9.77 (tagged 2026-04-05, pyproject still says graphifyy 0.1.10) and was + # never published to PyPI, where 0.9.77 is the latest release. nix-update + # picks v1.0.0 as the highest tag, so check PyPI before taking its result. src = fetchFromGitHub { owner = "Graphify-Labs"; repo = "graphify"; rev = "v${version}"; - hash = "sha256-YPiQChaoX64XBFORI5CmKe/LX0ECu1cYZWElGD7X2eA="; + hash = "sha256-CvJ6GoV1nSzFGfLQbzKSHDUNOuOPQZaYOf/idcSHkPw="; }; build-system = with python3Packages; [ @@ -24,7 +28,7 @@ python3Packages.buildPythonApplication rec { # Missing grammars will be downloaded by tree-sitter at runtime on demand. dependencies = with python3Packages; [ networkx - datasketch + numpy rapidfuzz tree-sitter tree-sitter-python