Permalink
Switch branches/tags
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
101 lines (64 sloc) 1.96 KB

Welcome to uzmq's documentation!

uzmq

libuv interface for ZeroMQ for your Python programs.

With uzmq you can use zmq sockets with the libuv event loop binding proposed by the pyuv library

Build Status

Features

Note

uzmq source code is hosted on Github

Example of usage

Example of an echo server using a Poll handle:

import pyuv
import zmq
import uzmq

loop = pyuv.Loop.default_loop()

ctx = zmq.Context()
s = ctx.socket(zmq.REP)
s.bind('tcp://127.0.0.1:5555')


def rep_handler(handle, events, errors):
    # We don't know how many recv's we can do?
    msg = s.recv()
    # No guarantee that we can do the send. We need a way of putting the
    # send in the event loop.
    s.send(msg)


poll = uzmq.ZMQPoll(loop, s)
poll.start(pyuv.UV_READABLE, rep_handler)

loop.run()

The same but using a ZMQ handle:

import pyuv
import zmq
import uzmq


loop = pyuv.Loop.default_loop()

ctx = zmq.Context()
s = ctx.socket(zmq.REP)
s.bind('tcp://127.0.0.1:5555')


stream = uzmq.ZMQ(loop, s)

def echo(handle, msg, err):
    print(msg[0])
    stream.write_multipart(msg)

stream.start_read(echo)

loop.run()

Contents:

.. toctree::
   :maxdepth: 4

   api
   news


Indices and tables