title: Python pattern for sharing configuration throughout application
body: <p>I have an application consisting of a base app that brings in several modules. The base app reads a parameter file into a configuration hash, and I want to share it across all my modules.</p>
  
  <p>Currently, I am passing a 'parent' object down to modules, and then those modules are doing stuff like self.parent.config to obtain the configuration.</p>
  
  <p>However, as there are several levels to the module hierarchy, I find myself doing things like self.parent.parent.config, which is starting to look bad.</p>
  
  <p>What are some better patterns for sharing a config object across an application and it's modules? I am thinking about having a 'config' module which basically creates a global config variable that can be set by the base app, then imported and accessed by other modules, but I am not sure if using globals like that is a bad practice for other reasons.</p>
  
  <p>I am reasonably new to Python so be nice =)</p>