Pin Cython<3.3 for pyzmq source-build compat (3008.x) - #70118
Open
dwoz wants to merge 1 commit into
Open
Conversation
dwoz
force-pushed
the
dwoz/fix/cython-3.3-pin-3008x
branch
from
August 22, 2026 22:43
4dd5bff to
942be37
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What broke
Cython 3.3.0 (released 2026-08-22) rejects redeclarations that pyzmq 27.1.0's
zmq/backend/cython/_zmq.pycurrently emits at lines 357 (hint) and 1112 (c_addr). Every Salt onedir source build of pyzmq (--no-binary=:all:on Linux/macOS) fails during the Cython_zmq.cgeneration step. Cross-branch: seen on 3006.x/3007.x/3008.x/master starting at Cython's PyPI publish time.Fix
Add
Cython < 3.3torequirements/constraints.txt.PIP_CONSTRAINTpropagates into pyzmq's PEP 517 isolated build env (seetools/pkg/build.pyandnoxfile.py), so this caps the Cython the build env installs without touching pyzmq's ownpyproject.toml. Cap is removable when pyzmq ships a Cython 3.3-compatible release.Scope
Build-tooling only. No runtime deps changed. No lockfile regeneration needed (Cython is a PEP 517 build dep and is not present in any
requirements/static/**.lock).Sibling PRs
Same fix on the other supported branches (populated once all four are open):
Test plan