def __is_dynamic_property(self, name): return ( name not in self._properties_by_attr and not name.startswith('_') and not inspect.isdatadescriptor(getattr(self.__class__, name, None)) )