docs: def init(*, output_dir=FS_DEFAULT_OUTPUT_DIR, dry_run=False, **kwargs):
      """
      Set up output directory
  
      :param output_dir(str, optional): Output dir for holding temporary files
      :param \*\*kwargs: arbitrary keyword arguments
      """
      # Output directory
      global _output_dir
      _output_dir = output_dir
  
      # Dry run mode
      global _dry_run
      _dry_run = dry_run
  
      # Type checks
      utils.chkstr(_output_dir, 'output_dir')
  
      # log the thing
      log.msg("Output directory will be: {output_dir}"
              .format(output_dir=_output_dir))
  
      # Create output directory if it does not exist
      if not os.path.exists(_output_dir):
          log.msg_warn("Output path '{out_dir}' does not exist, creating it ..."
                       .format(out_dir=_output_dir))
          if not _dry_run:
              # create the actual root output directory
              os.makedirs(_output_dir)
              # set folder permissions to 0770
              os.chmod(_output_dir, stat.S_IRWXU | stat.S_IRWXG)