From 0f0a4cf822f4b7b20b7b6241cbea055410b959be Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 1 Aug 2026 20:22:45 +0000 Subject: [PATCH] chore: constrain the fastfields-dlpack dependency to the 0.1 line `fastfields-dlpack` was listed as a bare, unversioned dependency, so a resolver was free to satisfy it with any future release -- including a 1.x whose binding ABI and shared enums no longer match this wrapper (fastfields/fastfields-lib#18, "unpinned fastfields-dlpack dep in the wrappers"). Uses a compatible-release constraint, `~=0.1` (i.e. `>=0.1, ==0.*`), rather than an exact pin. All the fastfields distributions are versioned off the same 0.1 line (versioningit `default-tag = "0.1"`) and are meant to move together, so the line is the right granularity: in-development builds (`0.1+.g`) and the backend-labelled release wheels (`0.1+cpu`, `0.1+cu128`) all satisfy it, an incompatible 1.x does not, and the constraint does not go stale on every commit the way `==0.1` would. No package code changes; this is dependency metadata only. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_016AjQcY78NgbagPSbPJRr6Z --- pyproject.toml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 304a219..b8cdd73 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,8 +26,15 @@ classifiers = [ "Topic :: Scientific/Engineering", "Typing :: Typed", ] +# `~=0.1` is `>=0.1, ==0.*`: the fastfields distributions are versioned and +# released together off the same 0.1 line (versioningit `default-tag = "0.1"`), +# so a bare, unversioned dependency would happily resolve to a future 1.x whose +# ABI/enums no longer match this wrapper. The floor is deliberately the line, +# not an exact pin, so in-development builds (`0.1+.g`, and the +# backend-labelled release wheels `0.1+cpu` / `0.1+cu128`) all satisfy it and +# the constraint does not go stale on every commit. dependencies = [ - "fastfields-dlpack", + "fastfields-dlpack~=0.1", "numpy", ]