dynaconf
The dynamic configurator for your Python Project
Decision gist · record as of 2026-08-14
Yes. Dynaconf is actively maintained, has no runtime dependencies, supports current Python versions, and solves a common problem—separating configuration from code—in a straightforward way. The MIT license imposes no restrictions. Use it if you need environment-based configuration, secrets protection, or multi-format settings support; skip it only if your project's configuration needs are minimal.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction installation with no runtime dependencies.
- Active maintenance—last release 9 days ago, repository at 4320 stars, supporting current Python versions (3.10–3.14).
License · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2026-08-05 (9 days) · last repo commit 2026-08-05 · 4,320 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 7,190,562 downloads/mo, #1,772 on PyPI
Alternatives
Verify before relying
pip install dynaconf
from dynaconf import Dynaconf
settings = Dynaconf(
envvar_prefix="DYNACONF",
settings_files=['settings.toml', '.secrets.toml']
)
print(settings.username)
print(settings['database.name'])- Whether Vault and Redis integration require additional system setup or dependencies beyond the base package
- Performance characteristics when managing large configuration files or deeply nested structures
- Validation schema capabilities and whether they cover common use cases like type coercion and range constraints
What it is and what it does
Dynaconf is a configuration management library that centralizes application settings across multiple file formats (toml, yaml, json, ini, py) and environment layers. It reads from settings files, secrets files, and environment variables—with environment variables taking precedence—allowing the same codebase to adapt to development, testing, and production without code changes. The library handles type casting automatically, supports nested key access via dot notation or bracket syntax, and includes a CLI for initialization, validation, and export.
The package is designed around the 12-factor application pattern, making it especially useful for teams that need to separate configuration from code and protect sensitive data. It includes built-in extensions for Django and Flask, optional integration with Hashicorp Vault and Redis for centralized secrets storage, and schema validation for catching configuration errors early. With no runtime dependencies, it installs cleanly and integrates into existing projects with minimal friction.
Use it for
- Manage database credentials, API keys, and other secrets separately from application code using .secrets files and environment variables
- Configure the same application for development, testing, and production environments using layered settings files without code changes
- Validate configuration schemas at startup to catch missing or malformed settings before the application runs
- Override specific settings per execution using environment variables without editing files
- Integrate with Django or Flask projects to centralize settings management across web framework configurations
- Store and retrieve secrets from Hashicorp Vault or Redis for teams requiring centralized secrets management
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Dynaconf is actively maintained, has no runtime dependencies, supports current Python versions, and solves a common problem—separating configuration from code—in a straightforward way. The MIT license imposes no restrictions. Use it if you need environment-based configuration, secrets protection, or multi-format settings support; skip it only if your project's configuration needs are minimal.
Install
dynaconf on PyPI
Before you install
Low friction installation with no runtime dependencies. Active maintenance—last release 9 days ago, repository at 4320 stars, supporting current Python versions (3.10–3.14).
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install dynaconf
from dynaconf import Dynaconf
settings = Dynaconf(
envvar_prefix="DYNACONF",
settings_files=['settings.toml', '.secrets.toml']
)
print(settings.username)
print(settings['database.name'])
Verify before relying
- Whether Vault and Redis integration require additional system setup or dependencies beyond the base package
- Performance characteristics when managing large configuration files or deeply nested structures
- Validation schema capabilities and whether they cover common use cases like type coercion and range constraints
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release <3.15,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 7,190,562 / month, #1,772 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableFramework :: DjangoFramework :: FlaskIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities |
Evidence: dynaconf-3.3.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “dotenv alternative”
- dynaconfDynaconf manages application configuration across multiple file…
- dotenvLoads environment variables from a .env file into the process…
- dotenv-linterLints `.env` files for consistency violations and best practices,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also environ-config · PyStaticConfiguration · python-dotenv · typed-settings · pydantic-settings-azure-app-configuration · simple-settings · lib-layered-config · bestconfig · hvac · vyper-config