Skip to content

Conversation

@minrk
Copy link
Member

@minrk minrk commented Sep 8, 2025

check both runtime zmq.has and build-time PYZMQ_DRAFT_API for pyzmq, both of which have to be set for drafts to work. This is relevant because pyzmq built without drafts (even linked against libzmq built without drafts) can run against libzmq with drafts, and everything should work, but it should work as if drafts are unavailable. You can create draft sockets, but can't use them much because the additional symbol methods (join, leave, poller, etc.) won't be available.

If pyzmq is built without drafts and libzmq is, has('draft') will be true, but draft api wrappers will not be available, leading to errors.

lost in the refactor in #1617 (pyzmq 23) where zmq.DRAFT_API = zmq.has("draft").

check both runtime zmq.has and build-time PYZMQ_DRAFT_API for pyzmq,
both of which have to be set for drafts to work.

If pyzmq is built without drafts and libzmq is, `has('draft')` will be true,
but draft api wrappers will not be available, leading to errors.
@minrk minrk merged commit 17b9ce8 into zeromq:main Sep 8, 2025
38 checks passed
@minrk minrk deleted the compile-time-drafts branch September 8, 2025 22:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant