def __get__(self, obj, type=None):

        if obj is None:
            # Being called on the class, return the original function. This
            # way, introspection works on the class.
            # return func
            return self.getter

        # Errors in the following line are errors in setting a
        # OneTimeProperty
        val = self.getter(obj)

        setattr(obj, self.name, val)
        return val
This will be called on attribute access on the class or instance.
dataset/ETHPy150Open nipy/nitime/nitime/descriptors.py/OneTimeProperty.__get__