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)

https://img.shields.io/pypi/l/dynaconf.svg https://img.shields.io/pypi/wheel/dynaconf.svg https://img.shields.io/pypi/pyversions/dynaconf.svg https://img.shields.io/pypi/v/dynaconf.svg https://api.codacy.com/project/badge/Grade/5074f5d870a24ddea79def463453545b https://img.shields.io/badge/Say%20Thanks!-🦉-1EAEDB.svg


  • 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.

Indices and tables