DOPY is a software that provides distributed objects for Python.
DOPY is a small distributed object system written entirely in Python. It is not intended to be CORBA compliant. Instead, it aims to be extremely easy to use and to support Python's dynamic nature - methods are invoked dynamically, parameters are passed by copy. Any python object that can be pickled can automatically be passed as a parameter or a return value, and any Python object can be published as a distributed object.
DOPY is approaching the point where I'm considering giving it a 1.0 version label. At this time, the main thing that is lacking is a good manual. Threading modes need some thrashing, too. However, the current version is quite functional.
Why did I Do This?
Ultimately, because I could. Given Python's built-in support for flattening and resurrection and TCP/IP, DOPY was just too easy and too compelling to resist.
Also, CORBA doesn't support two things that would be very useful for distributed objects in Python:
· Passing complex types by value (the latest CORBA spec supports this).
· Implicit dynamic method invocation (it supports dynamic method invocation, but only through the explicit use of the dynamic invocation API).
Finally, I wrote DOPY because I have a very real need for a distributed object system that is able to tunnel through a secure shell connection, and my attempts to figure out how to do this by adding support for a new protocol to Fnorb left me with the impression that it would just be easier to build my own distributed object system.
What's New in This Release:
· Numerous bug fixes for 0.5.
· Added setup.py file for distutils.
· Expanded documentation.
· Added reactors to deal with alternate input channels in single threaded mode.