docs: def read_envfile(path=None, **overrides):
          """
          Read a .env file (line delimited KEY=VALUE) into os.environ.
  
          If not given a path to the file, recurses up the directory tree until
          found.
  
          Uses code from Honcho (github.com/nickstenning/honcho) for parsing the
          file.
          """
          if path is None:
              frame = inspect.currentframe().f_back
              caller_dir = os.path.dirname(frame.f_code.co_filename)
              path = os.path.join(os.path.abspath(caller_dir), '.env')
  
          try:
              with open(path, 'r') as f:
                  content = f.read()
          except getattr(__builtins__, 'FileNotFoundError', IOError):
              logger.debug('envfile not found at %s, looking in parent dir.',
                           path)
              filedir, filename = os.path.split(path)
              pardir = os.path.abspath(os.path.join(filedir, os.pardir))
              path = os.path.join(pardir, filename)
              if filedir != pardir:
                  Env.read_envfile(path, **overrides)
              else:
                  # Reached top level directory.
                  warnings.warn('Could not any envfile.')
              return
  
          logger.debug('Reading environment variables from: %s', path)
          for line in content.splitlines():
              tokens = list(shlex.shlex(line, posix=True))
              # parses the assignment statement
              if len(tokens) < 3:
                  continue
              name, op = tokens[:2]
              value = ''.join(tokens[2:])
              if op != '=':
                  continue
              if not re.match(r'[A-Za-z_][A-Za-z_0-9]*', name):
                  continue
              value = value.replace(r'\n', '\n').replace(r'\t', '\t')
              os.environ.setdefault(name, value)
  
          for name, value in overrides.items():
              os.environ.setdefault(name, value)