Welcome to aiomas’ documentation!

PyPI | Bitbucket | Mailing list | IRC: #asyncio

aiomas is an easy-to-use library for request-reply channels, remote procedure calls (RPC) and multi-agent systems (MAS). It’s written in pure Python on top of asyncio.

The package is released under the MIT license. It requires Python 3.4 and above and runs on Linux, OS X, and Windows.

Below you’ll find a list of features. You can also take a look at the overview section to learn what aiomas is and see some simple examples. If you like this package, go and install it!

Features

  • Three layers of abstraction around raw TCP / unix domain sockets:
    1. Request-reply channels
    2. Remote-procedure calls (RPC)
    3. Agents and containers
  • TLS support for authorization and encrypted communication.
  • Interchangeable and extensible codecs: JSON and MsgPack (the latter optionally compressed with Blosc) are built-in. You can add custom codecs or write (de)serializers for your own objects to extend a codec.
  • Deterministic, emulated sockets: A LocalQueue transport lets you send and receive message in a deterministic and reproducible order within a single process. This helps testing and debugging distributed algorithms.

Indices and tables