I have a object like:
self.instance = instance
>>> instance = SomeOtherObject()
>>> f = Foo(instance)
__getattr__() method for your proxy class. This will be called when an attribute is accessed that doesn't exist on your instance. Return your contained object's attribute of the same name (or a wrapper if you insist, but there's no need if you just want to call the contained object's method and don't need to do anything else). Bonus: works with data as well as callables.
def __getattr__(self, name): return getattr(self.instance, name)
Does not work with
__ methods, however.