[Twisted-Python] ANN: Twisted DBus 1.0

Tom Cocagne tom.cocagne at gmail.com
Tue Jul 3 09:08:57 EDT 2012

Glyph was kind enough to point out offline that I screwed up the
project name during my midnight cleanup and release process. The name
was intended to be "Tx Dbus" rather than "Twisted DBus". The previous
project links have been removed and replaced with their corrected



- Tom

On Tue, Jul 3, 2012 at 1:08 AM, Tom Cocagne <tom.cocagne at gmail.com> wrote:
> 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

More information about the Twisted-Python mailing list