All applications should read configuration from environment variables, like in the Twelve-Factor App methodology.
In development, the default values should be appropriate as-is. The default values can be overridden in other environments with, for example, a uWSGI INI file or a Docker Compose .env file in production or a GitHub Actions workflow in testing.
For command-line interfaces, configure the environment variables in a
.env file. Use python-dotenv (not django-environ) to load the file: for example, Kingfisher Summarize.
Otherwise, read configuration from INI files using configparser. Do not use: JSON (no comments), YAML (data typing, too many features, not in standard library), TOML (data typing, too many features, not in standard library), or XML (verbose, not in standard library).
Use the following names for environment variables:
*_HOST, unless it is only the host part, like
If a setting refers to a setting in another project, prefix it by the project’s full name. For example:
Environment variables are configured in Pillar files in the deploy repository (see documentation).