code: def parse_cli():
      
  
      #
      # 1. parse cli arguments
      #
  
      __docopt__ = """
  usage: pykwalify -d FILE -s FILE ... [-e FILE ...]
         [--strict-rule-validation] [--fix-ruby-style-regex] [--allow-assertions] [--encoding ENCODING]
         [-v ...] [-q]
  
  optional arguments:
    -d FILE, --data-file FILE            the file to be tested
    -e FILE, --extension FILE            file containing python extension
    -s FILE, --schema-file FILE          schema definition file
    --fix-ruby-style-regex               This flag fixes some of the quirks of ruby style regex
                                         that is not compatible with python style regex
    --strict-rule-validation             enables strict validation of all keywords for all
                                         Rule objects to find unsupported keyword usage
    --allow-assertions                   By default assertions is disabled due to security risk.
                                         Error will be raised if assertion is used in schema
                                         but this flag is not used. This option enables assert keyword.
    --encoding ENCODING                  Specify encoding to open data and schema files with.
    -h, --help                           show this help message and exit
    -q, --quiet                          suppress terminal output
    -v, --verbose                        verbose terminal output (multiple -v increases verbosity)
    --version                            display the version number and exit
  """
  
      # Import pykwalify package
      import pykwalify
  
      args = docopt(__docopt__, version=pykwalify.__version__)
  
      pykwalify.init_logging(1 if args["--quiet"] else args["--verbose"])
      log = logging.getLogger(__name__)
  
      #
      # 2. validate arguments only, dont go into other code/logic
      #
  
      log.debug("Setting verbose level: %s", args["--verbose"])
      log.debug("Arguments from CLI: %s", args)
  
      return args
docs: The outline of this function needs to be like this:
  
      1. parse arguments
      2. validate arguments only, dont go into other logic/code
      3. run application logic