skillfed

everett

Configuration library for Python applications

everett v3.5.0 706.9K downloads/30d#5,268 on PyPI148
Copyleft license MPLv2 Abandoned released

What it is and what it does

Everett is a configuration library designed to centralize how Python applications read and validate settings from multiple sources—environment variables, .env files, INI, YAML, and custom sources. It handles type conversion (bool, int, lists, classes), provides clear error messages when configuration is invalid, and includes a Sphinx extension for auto-generating configuration documentation. The library is built around the 12-Factor app pattern and supports component-based architectures with namespaced configuration keys.

The package is now deprecated and its repository is archived as of October 2025. While it remains functional for existing projects, no new features or maintenance will be provided. It is suitable for applications already using it or for new projects that do not require ongoing vendor support, but teams starting fresh should evaluate actively maintained alternatives.

Use it for:

  • Building 12-factor web applications that read configuration from environment variables and .env files during development and deployment.
  • Testing application behavior under different configuration scenarios using config_override context manager to inject test values.
  • Generating configuration documentation automatically for end users via Sphinx directives without manual duplication.
  • Managing multi-component applications where different modules need namespaced configuration keys and isolated settings.
  • Parsing and validating typed configuration values (booleans, integers, lists) with helpful error messages when users provide invalid input.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Everett is a configuration library that reads settings from environment variables, .env files, INI, YAML, and other sources, with support for type parsing, validation, and automated documentation.

No—not for new projects. Everett is deprecated and archived as of 2025-10-15, with no further maintenance planned. While it is stable and has no known vulnerabilities, the lack of ongoing support means compatibility issues with future Python versions will not be addressed. Existing projects using it can continue, but new development should choose an actively maintained alternative.

Install

everett on PyPI

pip

pip install everett

uv

uv add everett

poetry

poetry add everett

Installing everett

Before you install

Installation is straightforward with no runtime dependencies for basic use. However, the project is marked deprecated as of 2025-10-15 and the repository is archived, meaning no further maintenance or updates will occur.

License in practice

Everett is licensed under MPL v2, a copyleft license requiring derivative works to disclose source code changes under the same license. This is permissive for use but imposes obligations if you modify and distribute the library.

Quickstart

pip install everett

from everett.manager import ConfigManager

config = ConfigManager.basic_config()
host = config("host", default="localhost")
port = config("port", default="8000", parser=int)

Requires Python 3.10 or later. Optional dependencies (configparser for INI, pyyaml for YAML) needed only if using those formats.

Verify before relying

  • Whether the abandoned status and archived repository will affect long-term compatibility with future Python releases beyond 3.14.
  • Whether existing users have migrated to alternative maintained configuration libraries and what the migration path looks like.

Package facts

License MPLv2 (copyleft)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 303 days since the last release
Last repo commit (repository archived)
First released
Downloads 706,866/month — #5,268 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: everett-3.5.0-py3-none-any.whl

Keywords: conf, config, configuration, ini, env, yaml

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)Natural Language :: EnglishProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries :: Python Modules

Tags

configuration management pythonenvironment variable parsingconfig from env filesyaml ini config loader12-factor app configurationconfig override testingapplication settings management
configuration-managementdeprecated12factor

More Python Modules packages