import inspect

def import_with_metaclass(modname, metaklass):
    "Module importer substituting custom metaclass"
    class Meta(object): __metaclass__ = metaklass
    dct = {'__module__':modname}
    #dct = {}
    mod = __import__(modname)
    for key, val in mod.__dict__.items():
        if inspect.isclass(val):
            setattr(mod, key, type(key,(val,Meta),dct))
    return mod

class MyMeta(type):
    pass

if __name__ == '__main__':
    foo = import_with_metaclass('foo', MyMeta)

    print type(foo.A)
    print foo.A.__module__
    


syntax highlighted by Code2HTML, v. 0.9.1