Skip to main content

Sharing global variables between modules in a Python application

Project description

app_global

From docs.python.org:

"The canonical way to share information across modules within a single program is to create a special module (often called config or cfg). Just import the config module in all modules of your application; the module then becomes available as a global name. Because there is only one instance of each module, any changes made to the module object get reflected everywhere. For example:"


See /Example/app_global_test for an illustration that can be run in VSCode


Although not illustrated, it is recommended to categorize data within the app globals to keep organized and thus reduce possiblity obscure failure:

  • config.C - For global constants
  • config.G - For global application state like DB connections, caches etc.
  • config.opts - Application options
  • config.log - Application logger
  • config.printCli - Common print cli handler for clean exit during initialization

As with any global data, care should be taken when using from within any multi threading applications. Use appropriate locking mechanisms as required.


Besides improving documentation, the main source config.py will be left as an empty source file so that is infinitely flexible

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

app_global-1.0.0.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

app_global-1.0.0-py3-none-any.whl (3.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page