From e524a92c5b7904670f1cf2dd4d4bf162363db50d Mon Sep 17 00:00:00 2001 From: "Neevash Ramdial (Nash)" Date: Wed, 26 Aug 2026 14:03:27 -0400 Subject: [PATCH] fix(ci): constrain build-time Cython to <3.3 Cython 3.3.0 crashes cythonizing curated_tokenizers/_bbpe.pyx. curated-tokenizers 0.0.9 ships no cp313 wheels, so CI (Python 3.13) builds it from source with an unpinned `cython>=0.25` build requirement and fails during `uv sync`. The breakage was latent since Cython 3.3.0 was released: the uv cache key is derived from pyproject.toml/uv.lock, so it only surfaced once a PR touched those files and invalidated the cached wheel. Co-authored-by: Cursor --- pyproject.toml | 5 +++++ uv.lock | 1 + 2 files changed, 6 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 57b28518..58fc59cc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,6 +51,11 @@ vision-agents-plugins-speechify = { workspace = true } # vogent-turn requires numpy<2.0, so we override to use 1.26.x override-dependencies = ["numpy>=1.26.0,<2.0"] +# curated-tokenizers 0.0.9 (kokoro -> misaki[en] -> spacy-curated-transformers) +# ships no cp313 wheels, so it is built from source. Its build requirement is an +# unpinned `cython>=0.25` and Cython 3.3 crashes cythonizing `_bbpe.pyx`. +build-constraint-dependencies = ["cython<3.3"] + # Store uv cache in project directory for better sandboxing cache-dir = ".uv-cache" diff --git a/uv.lock b/uv.lock index ef447a1e..31874bb3 100644 --- a/uv.lock +++ b/uv.lock @@ -53,6 +53,7 @@ members = [ "vision-agents-plugins-xai", ] overrides = [{ name = "numpy", specifier = ">=1.26.0,<2.0" }] +build-constraints = [{ name = "cython", specifier = "<3.3" }] [manifest.dependency-groups] dev = [