Many-to-many Invocation for Python
What is M2MI_Py?
Many-to-many Invocation is a Java library providing remote procedure calls
(RPC) over ad-hoc networks where the existance of other nodes is unknown.
M2MI is part of the Rochester Institute of Technology
Anhinga project and can be
obtained there.
M2MI_Py is a Python library which is very similar to M2MI. M2MI_Py is not
compatible on an API or protocol level with M2MI as M2MI utilizes features
specific to Java such as serialization of Java Class objects. However, M2MI_Py
has a similar API and the terminology and concepts are close. It can be seen as
a natural mapping of M2MI to Python.
What is the status of M2MI_Py?
M2MI_Py is currently in its initial development phase and is not quite ready
for release. However, pre-releases have been made if you would like to
experiment or contribute. Releases in the Files section of the project page
should be considered pre-alpha and may not retain compatibility between
releases. The best place to obtain M2MI_Py code is from CVS.
How do I use M2MI_Py?
You can look at the sample applications in the apps and test subdirectories
of m2mi_py. You can also check out the API docs.
M2MI_Py requires:
Get the M2MI_Py distribution (from the Files section or from CVS). Set your
PYTHONPATH to point to the directory m2mi_py resides in. There are multiple
ways to run the samples. Further details will be available when a standard
system is setup and I have time to write a HOWTO.
- TkChat and Monitor can be run directly.
- The m2mp1 and ping/pong tests can be run with mktap and twistd or
the tap.runApp.py script can be edited to start the appropriate test and
run from the command line.
What can I do to help?
We are always looking for developers. Protocol and API developers, test
writers, and application developers are always welcome. We'd also love a web
designer to update these pages. Marketers and documentation writers are also
very useful. Contact any of the developers or send an email to one of the lists
for some more information.
Visit the
project page