Dynaconf

screenshot of Dynaconf
django
flask

Configuration Management for Python

Overview

Dynaconf is a Python configuration management tool inspired by the 12-factor application guide. It offers features such as settings management, protection of sensitive information, support for multiple file formats, environment variable overrides, and integration with Hashicorp Vault and Redis. Dynaconf is designed to work well with Django and Flask web frameworks, and it provides a CLI for common operations. The tool is licensed under MIT and can be installed in the project root directory.

Features

  • Settings management: Default values, validation, parsing, and templating.
  • Protection of sensitive information: Secure storage of passwords and tokens.
  • Multiple file formats: Support for toml, yaml, json, ini, and py formats, with customizable loaders.
  • Environment variables support: Ability to override settings using environment variables, including dotenv support.
  • Layered system for multi environments: Support for default, development, testing, and production environments.
  • Integration with external services: Built-in support for Hashicorp Vault and Redis for storage of settings and secrets.
  • Framework integration: Extensions available for Django and Flask web frameworks.
  • CLI operations: Common operations such as init, list, write, validate, and export.
django
Django

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It follows the model-view-controller (MVC) architectural pattern, providing an extensive set of built-in tools and conventions to streamline the creation of robust and scalable web applications.

flask
Flask

Flask is a lightweight and popular web framework for Python, known for its simplicity and flexibility. It is widely used to build web applications, providing a minimalistic approach to web development with features like routing, templates, and support for extensions.