Go to file
MinRK 1a6723aa3e release 14.4.0 2014-10-17 14:28:37 -07:00
buildutils don't use `-1` as UNDEFINED constant value 2014-10-16 14:01:14 -07:00
docs note pypy bundling fix 2014-10-17 13:15:34 -07:00
examples fix checking existence of the same directory three times 2014-09-24 14:29:17 +02:00
perf update copyright and headers 2014-06-10 14:33:25 -07:00
tools add invoke script (used to build 14.3.1) 2014-06-14 14:01:58 -07:00
zmq release 14.4.0 2014-10-17 14:28:37 -07:00
.gitignore cleanup/ignore fixes 2014-10-17 13:14:07 -07:00
.mailmap update authors and mailmap 2014-10-17 14:25:53 -07:00
.travis.yml skip bundle/master on 3.3 on travis 2014-05-13 13:37:26 -07:00
AUTHORS.md update authors and mailmap 2014-10-17 14:25:53 -07:00
CONTRIBUTING.md add new Issue notes to Contributing.md 2012-10-04 14:11:27 -07:00
COPYING.BSD Updating license of zmqweb to BSD. 2012-02-29 16:33:39 -08:00
COPYING.LESSER First prototype of new Cython based 0MQ bindings for Python. 2010-02-12 15:16:08 -08:00
MANIFEST.in update MANIFEST.in for libsodium 2014-02-24 21:18:49 -08:00
README.md Update readme with commands to install libzmq3 for debian and rhel systems 2014-10-17 14:20:27 -07:00
setup.cfg.android add sample android cross-compile setup.cfg 2013-02-02 20:49:34 -08:00
setup.cfg.template remove unused keys from setup.cfg.template 2013-02-04 16:45:07 -08:00
setup.py cleanup/ignore fixes 2014-10-17 13:14:07 -07:00
setupegg.py Windows/Py3k fixes c/o Baptiste Lepilleur 2011-03-02 19:45:46 -08:00
tox.ini update tox 2013-09-16 13:11:43 -07:00
zmqversion.py update copyright and headers 2014-06-10 14:33:25 -07:00

README.md

PyZMQ: Python bindings for ØMQ

Build Status

This package contains Python bindings for ØMQ. ØMQ is a lightweight and fast messaging implementation.

PyZMQ should work with any Python ≥ 2.6 (including Python 3), as well as PyPy. The Cython backend used by CPython supports libzmq ≥ 2.1.4 (including 3.2.x and 4.x), but the CFFI backend used by PyPy only supports libzmq ≥ 3.2.2 (including 4.x).

For a summary of changes to pyzmq, see our changelog.

ØMQ 3.x, 4.x

PyZMQ ≥ 2.2.0 fully supports the 3.x and 4.x APIs of libzmq, developed at zeromq/libzmq. No code to change, no flags to pass, just build pyzmq against the latest and it should work.

PyZMQ does not support the old libzmq 2 API on PyPy.

Documentation

See PyZMQ's Sphinx-generated documentation on GitHub for API details, and some notes on Python and Cython development. If you want to learn about using ØMQ in general, the excellent ØMQ Guide is the place to start, which has a Python version of every example. We also have some information on our wiki.

Downloading

Unless you specifically want to develop PyZMQ, we recommend downloading the PyZMQ source code, eggs, or wheels from PyPI. On Windows, you can get .exe installers from Christoph Gohlke.

You can also get the latest source code from our GitHub repository, but building from the repository will require that you install Cython version 0.16 or later.

Building and installation

For more detail on building pyzmq, see our Wiki.

We build eggs and wheels for OS X and Windows, so you can get a binary on those platforms with either:

pip install pyzmq

or

easy_install pyzmq

but compiling from source with pip install pyzmq should work in most environments.

When compiling pyzmq (e.g. installing with pip on Linux), it is generally recommended that zeromq be installed separately, via homebrew, apt, yum, etc:

# Debian-based
sudo apt-get install libzmq3-dev

# RHEL-based
sudo yum install libzmq3-devel

If this is not available, pyzmq will try to build libzmq as a Python Extension, though this is not guaranteed to work.

To build pyzmq from the git repo (including release tags) requires Cython.

Old versions

For libzmq 2.0.x, use pyzmq release 2.0.10.1.

pyzmq-2.1.11 was the last version of pyzmq to support Python 2.5, and pyzmq ≥ 2.2.0 requires Python ≥ 2.6. pyzmq-13.0.0 introduces PyPy support via CFFI, which only supports libzmq-3.2.2 and newer.

PyZMQ releases ≤ 2.2.0 matched libzmq versioning, but this is no longer the case, starting with PyZMQ 13.0.0 (it was the thirteenth release, so why not?). PyZMQ ≥ 13.0 follows semantic versioning conventions accounting only for PyZMQ itself.