Peers is a kernel for distributed/P2P programming with asynchronous continuations.The kernel allows the programmer to perform symmetric remote procedure calls and raw data transfer between distributed objects, while maintaining well defined ordering semantics across loosely coupled process boundaries.

The protocols are written in a dynamic language and executed in the Peers runtime environment. A protocol is specified in a simple interface specification language, while the low level details are handled by native code generated by the Peers rpc compiler. As a result, distributed protocols can be expressed in a simple way, while maintaing high performance.

The Peers runtime environment is provided by a shared library and a Python extension module. Peers includes support for NAT traversal and rendezvous through indirection servers.

Peers was developed at the Viral Communications group by Dimitris Vyzovitis (me, vyzo) and Ilia Mirkin in 2005-2006. The source code is available under the GNU General Public License.
Source (GNU GPL): peers-20061017.tar.gz

For additional information refer to the old viral communications site, here, as the project pages have not migrated to the new viral communications site as of yet.