code: def import_module(module_fqname, superclasses=None):
      
      module_name = module_fqname.rpartition(".")[-1]
      module = __import__(module_fqname, globals(), locals(), [module_name])
      modules = [class_ for cname, class_ in
                 inspect.getmembers(module, inspect.isclass)
                 if class_.__module__ == module_fqname]
      if superclasses:
          modules = [m for m in modules if issubclass(m, superclasses)]
  
      return modules
docs: Imports the module module_fqname and returns a list of defined classes
      from that module. If superclasses is defined then the classes returned will
      be subclasses of the specified superclass or superclasses. If superclasses
      is plural it must be a tuple of classes.