1import abc 2 3import six 4 5 6class A(object): 7 pass 8 9 10class B(A): 11 pass 12 13 14class C(B): 15 pass 16 17 18class D(object): 19 pass 20 21 22class Mixed(A, D): 23 pass 24 25 26class Abstract(six.with_metaclass(abc.ABCMeta, object)): 27 pass 28 29 30class Concrete(object): 31 pass 32 33 34class ConcreteSubclass(Concrete): 35 pass 36 37 38for typ in (A, B, C, D, Mixed, Abstract, Concrete, ConcreteSubclass): 39 typ.__module__ = 'dummies' 40 41 42Abstract.register(Concrete) 43