code: def automain(self, function):
          
          captured = self.main(function)
          if function.__module__ == '__main__':
              # Ensure that automain is not used in interactive mode.
              import inspect
              main_filename = inspect.getfile(function)
              if (main_filename == '<stdin>' or
                      (main_filename.startswith('<ipython-input-') and
                       main_filename.endswith('>'))):
                  raise RuntimeError('Cannot use @ex.automain decorator in '
                                     'interactive mode. Use @ex.main instead.')
  
              self.run_commandline()
          return captured
docs: Decorator that defines *and runs* the main function of the experiment.
  
          The decorated function is marked as the default command for this
          experiment, and the command-line interface is automatically run when
          the file is executed.
  
          The method decorated by this should be last in the file because is
          equivalent to:
  
          .. code-block:: python
  
              @ex.main
              def my_main():
                  pass
  
              if __name__ == '__main__':
                  ex.run_commandline()