[zeromq-dev] PyZMQ support for socket options added in ZeroMQ 2.1

Martin Lucina mato at kotelna.sk
Thu Nov 11 01:44:53 CET 2010

Hi Min,

benjaminrk at gmail.com said:
> I really recommend using current github master over 2.0.8, until we cut a
> 2.0.10 release, at least.  Note that pyzmq master remains 2.0.x targeted, since
> we haven't moved up to 2.1.x yet, and we will definitely cut a 2.0.x release
> before that happens in master.

Fair enough. I don't have any problem per se with using PyZMQ master if
it's stable, I'd just not heard much about it on the list so was going with
making myself a change to 2.0.x in the interim.

> I'm not 100% sure, but we *may* depend on current Cython (13), which is
> easy_install-able as of August.

Ok, I'll try with Cython 13 tomorrow, it's late here ... if that doesn't
work I guess I can always hand-edit the generated Cython code in the

> PyZMQ master is quite stable, and still targets 2.0.x, but we haven't cut a
> release since 2.0.8, mostly for lack of time.  We don't do development in
> master, we do it all in feature branches, then merge into master when the
> feature is complete.  The difference between current master and a 2.0.10
> release would be very very small, if anything at all.  I'm not sure that there
> is any 2.0.8 code that would not work on master, so I would be surprised if
> updating causes a problem.  Please let us know if it does.
> I'll try to cut 2.0.10, or at least 2.0.10rc soon, if you would prefer that.

Well, the only API differences (not counting semantics) between zmq 2.0.x
and master are the new socket options. What would be nice is if you managed
to cut a 2.0.10 which was basically 2.0.8 + support for those new options
if it's used with zmq master; the combination of the ZMQ_VERSION macro
(added in 2.0.10) and zmq_version() for runtime detection should allow

If you don't want to go that route I'll of course use PyZMQ master for my

> In any case, adding ZMQ_LINGER support should be as simple as adding two lines
> in zmq/core/constants.pyx

As long as I can get Cython to work, yes :-)

Note that ZMQ_LINGER is type (int) instead of (int64_t), I'm guessing
because Martin Sustrik was trying to use the "proper" type, not that it
matters for zmq 2.x since the option types are all a mess anyway.


More information about the zeromq-dev mailing list