Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
This package contains Python bindings for ZeroMQ. Ø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 our changelog.
PyZMQ 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.
See PyZMQ's Sphinx-generated documentation on Read the Docs 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.
Unless you specifically want to develop PyZMQ, we recommend downloading the PyZMQ source code or wheels from PyPI, or install with conda.
You can also get the latest source code from our GitHub repository, but building from the repository will require that you install recent Cython.
For more detail on building pyzmq, see our docs.
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 with pip install pyzmq
should work in most environments.
Make sure you are using the latest pip, 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 from source with:
pip install --no-binary=pyzmq pyzmq
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.
FAQs
Python bindings for 0MQ
We found that pyzmq demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.