vyper-config
Python configuration with (more) fangs
Decision gist · record as of 2026-08-14
Yes, with conditions. Vyper is a solid, permissively licensed configuration solution for applications that need to merge multiple sources with clear precedence. However, maintenance is dormant—last release was 2023-10-04—so if you need active support or bug fixes, consider whether the package's current state meets your stability requirements. For stable, self-contained configuration needs, it remains a reasonable choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with four runtime dependencies (distconfig3, toml, PyYAML, watchdog).
- Maintenance is dormant—last release was 2023-10-04, though the repository remains active with a recent commit on 2025-01-13.
- Supports Python 3.8 through 3.11.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2023-10-04 (1045 days) · last repo commit 2025-01-13 · 151 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 110,414 downloads/mo, #12,463 on PyPI
Alternatives
Verify before relying
pip install vyper-config
from vyper import Vyper
v = Vyper()
v.set_default('app_name', 'myapp')
v.set_config_name('config')
v.add_config_path('.')
v.read_in_config()
app_name = v.get('app_name')- Whether remote config store support (etcd, Consul, ZooKeeper) is fully functional or partially implemented
- Current test coverage and stability of live config reloading across different file formats
- Performance characteristics when handling large configuration files or frequent reloads
What it is and what it does
Vyper is a configuration registry that consolidates settings from multiple sources into a single interface. It reads from JSON, TOML, and YAML files, environment variables, command-line arguments (via argparse), and optionally remote key-value stores, applying a fixed precedence order: explicit set calls override arguments, which override environment variables, which override config files, which override remote stores, which override defaults. The package handles case-insensitive key lookups, supports aliases to rename parameters without breaking existing code, and can watch configuration files for changes and automatically reload them while the application runs.
The library is designed for 12-factor applications and modern Python services where configuration needs to be flexible and dynamic. It abstracts away the complexity of parsing different file formats and merging sources, letting developers focus on application logic rather than configuration plumbing. Four runtime dependencies (distconfig3, toml, PyYAML, watchdog) provide the underlying parsing and file-watching capabilities.
Use it for
- Build a microservice that reads defaults from code, overrides from a YAML config file, and secrets from environment variables in a predictable order.
- Implement live configuration reloading so a running application picks up changes to a TOML file without restart.
- Create a CLI tool that accepts command-line arguments, environment variables, and a JSON config file, with clear precedence for which wins.
- Set up a 12-factor application that sources configuration from environment variables with a prefix, falling back to defaults.
- Use aliases to rename configuration keys across versions without breaking existing deployments that use the old names.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with conditions.
Vyper is a solid, permissively licensed configuration solution for applications that need to merge multiple sources with clear precedence. However, maintenance is dormant—last release was 2023-10-04—so if you need active support or bug fixes, consider whether the package's current state meets your stability requirements. For stable, self-contained configuration needs, it remains a reasonable choice.
Install
vyper-config on PyPI
Before you install
Low install friction with four runtime dependencies (distconfig3, toml, PyYAML, watchdog). Maintenance is dormant—last release was 2023-10-04, though the repository remains active with a recent commit on 2025-01-13. Supports Python 3.8 through 3.11.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install vyper-config
from vyper import Vyper
v = Vyper()
v.set_default('app_name', 'myapp')
v.set_config_name('config')
v.add_config_path('.')
v.read_in_config()
app_name = v.get('app_name')
Verify before relying
- Whether remote config store support (etcd, Consul, ZooKeeper) is fully functional or partially implemented
- Current test coverage and stability of live config reloading across different file formats
- Performance characteristics when handling large configuration files or frequent reloads
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesdistconfig3tomlPyYAMLwatchdog |
| Maintenance | Dormant 1,045 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 110,414 / month, #12,463 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules |
Evidence: vyper_config-1.2.1-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 › “live config reloading”
- vyper-configVyper provides a unified configuration system for Python applications…
- django-settings-holderProvides a settings container for Django extensions that allows…
- sphinx-autobuildWatches Sphinx documentation source files for changes and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also vyper · dynaconf · configurator · yaml-config · config-parser · typer-config · simple-settings · pytest-variables · application-properties