code: def load_config(self, config_source, parameters_source):
          
          with open(config_source) as config_source:
              config_raw = config_source.read()
              """Replace the parameters"""
              pattern = "(%[a-zA-Z_0-9]*%)"
  
              self.parameters = {}
              """Parameteres from file"""
              if os.path.isfile(parameters_source):
                  self.parameters.update(self.load_parameters(parameters_source))
  
              """Overwrite parameteres with the environment variables"""
              self.parameters.update(os.environ)
  
              replaced_config = re.sub(pattern=pattern, repl=self._replace_function, string=config_raw)
              return json.loads(replaced_config)
docs: For JSON, the source it the file path