For anyone interested in taking a look, I've just released a native-Python implementation of the DBus protocol for Twisted. The intent of the implementation is to provide Twisted applications with a full-featured DBus API that is consistent with the rest of the framework and does not require the use of the glib reactor or libdbus Python bindings.
The project is currently hosted on github and has a pypi entry: https://github.com/cocagne/twisted_dbus http://pypi.python.org/pypi/twisted_dbus/1.0 Notes on the implementation: * A comprehensive tutorial and DBus protocol overview is included in the project documentation * Although the release version is set at 1.0, the project should be considered Beta quality as it has seen little real-world use * Unit test coverage is at about 98% * The code adheres to the Twisted coding standards * Windows is currently not supported (likely a trivially easy task but as yet unexplored) * Full, generated API documentation is possible but burnout/apathy set in before I figured out how to properly use Twisted's documentation generator * The implementation includes a basic DBus server implementation but, currently, it's only intended to serve as an alternative to the native DBus server when running the unit tests. Notes on Performance: * For a pure-python solution the performance is really quite good. * On the CPython interpreter, this implementation runs at about about 1/3 to 1/5th the speed of the libdbus bindings. * On the PyPy interpreter, this implementation runs at about the same speed as the libdbus bindings * Surprisingly enough, the bottleneck does not appear to be in the marshalling/unmarshalling routines. Simply compiling the dbus marshalling module with Cython yielded a 10x increase in marshalling performance but this translated into only a minor overall performance improvement. If anyone adept at Python/Twisted profiling would care to take a look, assistance in this area would be most welcome. - Tom Cocagne _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python