diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..92f0c34 --- /dev/null +++ b/README.md @@ -0,0 +1,86 @@ +# PyZMQ: Python bindings for ØMQ + +[](https://travis-ci.org/zeromq/pyzmq) + +This package contains Python bindings for [ØMQ](http://www.zeromq.org). +Ø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](http://zeromq.github.io/pyzmq/changelog.html). + +### ØMQ 3.x, 4.x + +PyZMQ ≥ 2.2.0 fully supports the 3.x and 4.x APIs of libzmq, +developed at [zeromq/libzmq](https://github.com/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](http://zeromq.github.com/pyzmq) 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](http://zguide.zeromq.org/py:all) is the place to start, which has a +Python version of every example. We also have some information on our +[wiki](https://github.com/zeromq/pyzmq/wiki). + +## Downloading + +Unless you specifically want to develop PyZMQ, we recommend downloading +the PyZMQ source code, eggs, or wheels from +[PyPI](http://pypi.python.org/pypi/pyzmq). On Windows, you can get `.exe` installers +from [Christoph Gohlke](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyzmq). + +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](https://github.com/zeromq/pyzmq/wiki/Building-and-Installing-PyZMQ). + +We build wheels for OS X and Windows, so you can get a binary installer on those platforms with: + + pip install pyzmq + +but compiling from source with `pip install pyzmq` should work in most environments. +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-use-wheel 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-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. + +Building pyzmq from the git repo (including release tags on GitHub) 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. + |