import sys, types class _MyModuleType(types.ModuleType): @property def ... @property def ... sys.modules[__name__].__class__ = _MyModuleType It's definitely true though that they're not the most obvious lines of code :-)