code: def from_file(self, loader, filename, encoding='utf-8', silent=False):
          
          conf = {}
          try:
              with open(filename, encoding=encoding) as f:
                  conf = loader(f)
          except Exception:
              if not silent:
                  raise
          self.update(conf)
docs: Updates recursively the value in the the config from some file.
  
          :param loader: (function) a function that receives a file object
              and returns a dictionary to be merged into settings
          :param filename: (str) a filename to be opened
          :param encoding: (str) an encoding of the filename
          :param silent: (bool) fails silently if something wrong with json file
  
          .. versionadded:: 0.4.0