SpoonRPC is a python module that provides a distributed communication system for interprocess communication. The project doesn't actually provide RPC at the moment, because message passing turned out to be a lot easier, and probably more useful anyway.
Here are some key features of "SpoonRPC":
· Safe, efficient object serialization with ASN.1 BER
· Simple, easy messaging between nodes
· Message routing
· Transport agnostic, just needs a stream of some kind.
· Can create ad-hoc networks of nodes with multiple links for reliability
· Licensed under the MIT license.
poonRPC provides the ability to connect many different processes together and send messages between them. The processes can be running across any number of hosts. Security is up to the implementation, but by using SSL or paramiko adding a layer of security is easy.
A message consists of a string to identify the message type, and an arbitrary object attachment. Messages can be dispatched, by the message type, to functions by using a decorator. Arbitrary python objects are serialized using BER, however only the data members of the object are serialized. Code cannot be serialized, this is a feature, not an oversight. Each process must have a copy of the class for the objects serialized.
Each node has one or more links to other nodes which forms a larger network of nodes. Messages are routed using a dynamic routing algorithm, the most efficient route is chosen as nodes and links come and go. This allows nodes that do not have a direct connection between eachother to communicate.
What's New in This Release:
· Minor updates were made to the API, all of which are backwards compatible.
· Lots of changes were made to make epydoc happy and generate documentation properly.
· Some extra safety checks were added to provide better feedback when things aren't configured correctly.