code: def save_module(self, obj):
          
          mod_name = obj.__name__
          # If module is successfully found then it is not a dynamically created module
          if hasattr(obj, '__file__'):
              is_dynamic = False
          else:
              try:
                  _find_module(mod_name)
                  is_dynamic = False
              except ImportError:
                  is_dynamic = True
  
          self.modules.add(obj)
          if is_dynamic:
              self.save_reduce(dynamic_subimport, (obj.__name__, vars(obj)), obj=obj)
          else:
              self.save_reduce(subimport, (obj.__name__,), obj=obj)
docs: Save a module as an import