dynaconf a layered configuration system for Python applications - with strong support for 12-factor applications and extensions for Flask and Django.
Release v1.2.1. (Installation)
Features¶
Strict separation of settings from code (following 12-factor applications Guide).
Define comprehensive default values.
Store parameters in multiple file formats (.toml, .json, .yaml, .ini and .py).
Sensitive secrets like tokens and passwords can be stored in safe places like .secrets file or vault server.
Parameters can optionally be stored in external services like Redis server.
Simple feature flag system.
Layered [environment] system.
Environment variables can be used to override parameters.
Support for .env files to automate the export of environment variables.
Correct data types (even for environment variables).
Have only one canonical settings module to rule all your instances.
Drop in extension for Flask app.config object.
Drop in extension for Django conf.settings object.
Powerful $ dynaconf CLI to help you manage your settings via console.
Customizable Validation System to ensure correct config parameters.
Allow the change of dynamic parameters on the fly without the need to redeploy your application.
Contents:
- Getting Started
- Sensitive secrets
- Environment variables
- Accessing parameters
- The dynaconf CLI
- External storages
- Configuring Dynaconf
- Advanced Usage
- Feature flag system
- Validation
- Flask Extension
- Django Extension
- Testing and mocking
- Extending
- How to contribute
- Examples
- Credits
- Alternatives
- Module reference