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 " ".join(msg)
    stream.write_multipart(msg)

stream.start_read(echo)

loop.run()

Contents:

Indices and tables

Table Of Contents

Next topic

API

This Page