So, I only realised today that __new__ is deprecated for receiving arguments, as of python 2.6 (it isn\'t mentioned in the documentation, which is also not true
__new__
Thomas put me right in his answer, but I should add that the solution in my case was trivial: add a __new__ method to my base class with the lines:
class Base(object): def __new__(cls, *args, **kws): instance = super(Base, cls).__new__(cls) instance.__init__(*args, **kws) return instance