AppSignal for Python load order
This documentation outlines how the AppSignal configuration is loaded in your Python application.
There are two different methods for configuring your AppSignal integration, which can be used simultaneously:
- Config file (
__appsignal__.py) - Environment variables
A list of available options can be found in the Configuration options documentation.
Load order
The configuration is loaded in a four-step process:
- Package defaults -
default - System detected settings -
system - Environment variables -
env - Initial configuration -
initial
1. Package defaults
First, the default configuration is loaded, which sets paths and enables certain features.
This source will be listed under default in your application's config and is visible in the Diagnose report.
2. System detected settings
The package detects what kind of system it's running on and configures itself accordingly.
For example, if running inside a container-based system such as Docker or Heroku, the configuration option running_in_container is set to true.
This source will be listed under system in your application's config and is visible in the Diagnose report.
3. Environment variables
AppSignal will look for Configuration options set via Environment variables. The Environment variable value will override values for the same Configuration options defined in previous steps.
export APPSIGNAL_APP_NAME="my custom app name" # start your app here
This source will be listed under env in your application's configuration, and is visible in the Diagnose report.
4. Initial configuration given to Appsignal
Finally, the initial configuration is loaded via the Appsignal function called from the __appsignal__.py config file:
# __appsignal__.py appsignal = Appsignal( active=True, name="My app name", push_api_key="00000000-0000-0000-0000-000000000000" )
The values of Conig options defined in this step will override values for the same Configuration options defined in previous steps.
This source will be listed under initial in your application's config and is visible in the Diagnose report.