diff --git a/pyczmq/__init__.py b/pyczmq/__init__.py index 8582757..2d51adb 100644 --- a/pyczmq/__init__.py +++ b/pyczmq/__init__.py @@ -2,6 +2,7 @@ from . import ( zmq, + zsys, zctx, zsocket, zstr, diff --git a/pyczmq/zsys.py b/pyczmq/zsys.py new file mode 100644 index 0000000..b9e4eab --- /dev/null +++ b/pyczmq/zsys.py @@ -0,0 +1,18 @@ +from pyczmq._cffi import C, ffi, cdef + +__doc__ = """ +The zsys class provides miscellaneous functions. Only a limited set of +functions are exposed from the czmq zsys module as many duplicate +functionality of built-in python types or libraries. +""" + +@cdef('void zsys_version (int *major, int *minor, int *patch);') +def zsys_version(): + """ + Returns the tuple (major, minor, patch) of the current czmq version. + """ + major = ffi.new('int*') + minor= ffi.new('int*') + patch = ffi.new('int*') + C.zsys_version(major, minor, patch) + return (major[0], minor[0], patch[0]) diff --git a/setup.py b/setup.py index e7119d5..88dfa46 100644 --- a/setup.py +++ b/setup.py @@ -5,12 +5,13 @@ ====== """ from pyczmq.zmq import version as zmq_version +from pyczmq.zsys import zsys_version as czmq_version from setuptools import setup, find_packages import sys -if zmq_version() < (4,0,0): - print "ERROR: pyczmq requires libzmq 4.0.0 or later." +if zmq_version() < (4,0,0) or czmq_version() < (2, 1, 0): + print "ERROR: pyczmq requires libzmq 4.0.0 or later and libczmq 2.1.0 or later" sys.exit(1)