skillfed

vyper-config

Python configuration with (more) fangs

vyper-config v1.2.1 110.4K downloads/30d#12,463 on PyPI151
Permissive license MIT DORMANT released

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

Vyper provides a unified configuration system for Python applications that reads from multiple sources—files (JSON, TOML, YAML), environment variables, command-line arguments, and remote stores—with support for live reloading and a clear precedence order.

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

pip

pip install vyper-config

uv

uv add vyper-config

poetry

poetry add vyper-config

Installing vyper-config

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 — distconfig3, toml, PyYAML, watchdog
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)

Evidence: vyper_config-1.2.1-py3-none-any.whl

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

Tags

configuration management pythonread config files yaml toml jsonenvironment variable configurationlive config reloading12 factor app configconfig precedence systemremote config etcd consul
configuration-management12-factorlive-reload

More Python Modules packages