Skip to main content

ZeroMQ integration with asyncio.

Project description

asyncio (PEP 3156) support for ZeroMQ.

https://travis-ci.org/aio-libs/aiozmq.svg?branch=master

Documentation

See http://aiozmq.readthedocs.org

RPC Example

Simple client-server RPC example

import asyncio
import aiozmq
import aiozmq.rpc


class ServerHandler(aiozmq.rpc.AttrHandler):

    @aiozmq.rpc.method
    def remote_func(self, a:int, b:int) -> int:
        return a + b


@asyncio.coroutine
def go():
    server = yield from aiozmq.rpc.serve_rpc(
        ServerHandler(), bind='tcp://127.0.0.1:5555')
    client = yield from aiozmq.rpc.connect_rpc(
        connect='tcp://127.0.0.1:5555')

    ret = yield from client.call.remote_func(1, 2)
    assert 3 == ret

    server.close()
    client.close()

asyncio.set_event_loop_policy(aiozmq.ZmqEventLoopPolicy())
asyncio.get_event_loop().run_until_complete(go())

Requirements

License

aiozmq is offered under the BSD license.

CHANGES

0.4.1 (2014-07-03)

  • Add exclude_log_exceptions parameter to rpc servers.

0.4.0 (2014-05-28)

  • Implement pause_reading/resume_reading methods in ZmqTransport.

0.3.0 (2014-05-17)

  • Add limited support for Windows.

  • Fix unstable test execution, change ZmqEventLoop to use global shared zmq.Context by default.

  • Process cancellation on rpc servers and clients.

0.2.0 (2014-04-18)

  • msg in msg_received now is a list, not tuple

  • Allow to send empty msg by trsansport.write()

  • Add benchmarks

  • Derive ServiceClosedError from aiozmq.rpc.Error, not Exception

  • Implement logging from remote calls at server side (log_exceptions parameter).

  • Optimize byte counting in ZmqTransport.

0.1.3 (2014-04-10)

  • Function default values are not passed to an annotaion. Add check for libzmq version (should be >= 3.0)

0.1.2 (2014-04-01)

  • Function default values are not passed to an annotaion.

0.1.1 (2014-03-31)

  • Rename plural module names to single ones.

0.1.0 (2014-03-30)

  • Implement ZmqEventLoop with create_zmq_connection method which operates on zmq transport and protocol.

  • Implement ZmqEventLoopPolicy.

  • Introduce ZmqTransport and ZmqProtocol.

  • Implement zmq.rpc with RPC, PUSHPULL and PUBSUB protocols.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiozmq-0.4.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

aiozmq-0.4.1-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file aiozmq-0.4.1.tar.gz.

File metadata

  • Download URL: aiozmq-0.4.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aiozmq-0.4.1.tar.gz
Algorithm Hash digest
SHA256 a8f2ba36271cc8170305aa6dcf24cea957b9faf9ad70bcbe94b50f2dac97c182
MD5 42cb1f7d4c731c0573eac9d1526d58c0
BLAKE2b-256 65c3e1dccb2b760dce32b76460b36044b29e914755caccbb5108b6e6ff2fe81d

See more details on using hashes here.

Provenance

File details

Details for the file aiozmq-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aiozmq-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b777f69615cabf7e25e1ee32cf0df135ad8e45d61b976ee18e8e2155eb55c399
MD5 55a4014daf7b05d2222979f6a0bbd5cf
BLAKE2b-256 de77d43b7a4fef0864c2971e62d37c29a24b404028388fc6437d895e13071f11

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page