Python IPC options

Francis Burton fburton at nyx10.nyx.net
Sat Aug 31 17:34:06 EDT 2002


It would be extremely useful (imho) if there was a way for
Python programs to call on the services of independent,
external processes for plotting, getting input, or any other
kind of processing for that matter. I am think of something
that goes beyond os.system() and that enables information to
flow freely between running processes.

The "Systems Biology Workbench" looks promising (and despite
the name, is not limited in scope to biological applications).
There is a Python API, in addition to C, C++, Java and Delphi
Kylix APIs. See: http://www.sbw-sbml.org/sbw/docs/index.html

It offers a remote procedure call paradigm. I don't know yet
how well it can be adapted to allow asynchronous flow of
messages back and forth. On the plus side, it performs
significantly faster than XML-RPC.

Glish has a more general architecture. It is "a user-level
software bus for loosely-couple distributed systems" and
"an interpreted language for building distributed systems
from modular, event-oriented programs. These programs are
written in conventional languages such as C, C++, or
FORTRAN. Glish scripts can create local and remote processes
and control their communication. Glish also provides a full,
array-oriented programming language for manipulating binary
data sent between processes. ...". See:
http://www.cv.nrao.edu/glish/papers/

This would appear to be much more the kind of thing I am
looking for.

It would be nice if Python could provide the same kind of
communication mechanisms. Unfortunately, while Glish is
freely available, it is heavily C++ biased and runs only on
some Unix systems. In theory, something similar could be
implemented on a much wider range of platforms using
sockets and Python.

Can anyone tell me: has an interprocess communication
mechanism specifically with a bus architecture been
implemented in/for Python?

Francis



More information about the Python-list mailing list