- Notifications
You must be signed in to change notification settings - Fork0
PyZMQ: Python bindings for zeromq
License
fox4u/pyzmq
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This package contains Python bindings forZeroMQ.ØMQ is a lightweight and fast messaging implementation.
PyZMQ should work with any reasonable version of Python (≥ 3.7), 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 ourchangelog.
PyZMQ fully supports the 3.x and 4.x APIs of libzmq,developed atzeromq/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.
See PyZMQ's Sphinx-generateddocumentationon Read the Docs for APIdetails, and some notes on Python and Cython development. If you want tolearn about using ØMQ in general, the excellentØMQGuide is the place to start, which has aPython version of every example. We also have some information on ourwiki.
Unless you specifically want to develop PyZMQ, we recommend downloadingthe PyZMQ source code or wheels fromPyPI,or install with conda.
You can also get the latest source code from our GitHub repository, butbuilding from the repository will require that you install recent Cython.
For more detail on building pyzmq, seeour Wiki.
We build wheels for macOS, Windows, and Linux, so you can get a binary on those platforms with:
pip install pyzmq
but compiling from source withpip install pyzmq
should work in most environments.Especially on macOS, make sure you are using the latest pip (≥ 8), or it may not find the right wheels.
If the wheel doesn't work for some reason, or you want to force pyzmq to be compiled(this is often preferable if you already have libzmq installed and configured the way you want it),you can force installation with:
pip install --no-binary=:all: pyzmq
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-basedsudo apt-get install libzmq3-dev# RHEL-basedsudo yum install libzmq3-devel
If this is not available, pyzmq willtry to build libzmq as a Python Extension,though this is not guaranteed to work.
Building pyzmq from the git repo (including release tags on GitHub) requires Cython.
pyzmq 16 drops support Python 2.6 and 3.2.If you need to use one of those Python versions, you can pin your pyzmq version to before 16:
pip install 'pyzmq<16'
For libzmq 2.0.x, use 'pyzmq<2.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.