Notice that this is a call to MyMeta, which is a class even if it does inherit from type, so what happens is exactly what always happens – first __new__ is called ...