Looks as Perl interface ported directly to Python. In Perl objects are based on hashes where they store the attributes and there's no way to define data attributes, only methods.
TRWTF is they are not using SWIG -- it's a tool that takes C++ object interface with a bit of extra annotations and generates appropriate binding for it in most languages you can think of. Would save quite a bit of work both in implementing and debugging (because the other interfaces would just call into the C++ one, so if a bug is found, fixing it in C++ would propagate to the other language bindings too) while allowing to add Java, C#, Ruby, Tcl/Tk and Ocaml (and some others).