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.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.get_event_loop().run_until_complete(go())

Requirements

License

aiozmq is offered under the BSD license.

CHANGES

0.5.1 (2014-09-27)

  • Fix loopless transport implementation.

0.5.0 (2014-08-23)

  • Support zmq devices in aiozmq.rpc.serve_rpc()

  • Add loopless 0MQ transport

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.5.1.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

aiozmq-0.5.1-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aiozmq-0.5.1.tar.gz
Algorithm Hash digest
SHA256 fb5486ab79f33ed74032e85ea018a3d8cb6bc8c4cd108819715894d9d0912b12
MD5 1f32bb2b87a8c2f0c51ece905df1e1d2
BLAKE2b-256 542d649998b607e200adac32a86fcaba0f3e6a69c12f44d11c0c5d1e870b8e47

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for aiozmq-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed1521648ab5577a8caa6602ac00ac354a2692a91823ab947ec2caef72907d2d
MD5 f65832c2b311410c0a5fbec7067c79f2
BLAKE2b-256 0254e1410646d5c9da6b439d5f4ae5b562653272642978a74c8b999bc12bca4a

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