skillfed

configurator

A library for building a configuration store from one or more layered configuration sources

configurator v3.2.0 105.5K downloads/30d#12,694 on PyPI42
Permissive license MIT DORMANT released

What it is and what it does

Configurator is a Python library that assembles configuration from multiple layered sources into a single, unified store. It accepts configuration files (YAML, TOML, JSON), environment variables, command-line arguments, and plain Python dictionaries, merging them in order so later sources override earlier ones. The resulting configuration is exposed as nested Python objects, making it easy to access values like `config.cache.location` and to validate the entire schema using standard Python validation libraries.

The library is designed for applications that need flexible configuration management without heavy dependencies. It has no runtime dependencies and installs quickly. It's particularly useful when you want sensible defaults, system-wide configuration files, per-user overrides, and environment-based tweaks all working together in a predictable order.

Use it for:

  • Building a multi-tier config system where defaults are overridden by system config, then user config, then environment variables
  • Loading application settings from YAML or TOML files and merging them with command-line flags
  • Extracting configuration from environment variables with type conversion and required-field validation
  • Preparing configuration data as plain Python dicts for validation with schema libraries
  • Managing per-deployment configuration by layering environment-specific files

Worth the install?

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

Builds a configuration store by layering multiple sources (files, environment variables, command-line arguments) with support for YAML, TOML, and JSON formats, exposing the result as nested Python data types.

Yes, for stable configuration-management needs. The package is lightweight, has no dependencies, and covers the common case of layering multiple config sources well. Dormant maintenance is not a blocker if your configuration requirements are straightforward and unlikely to change. Consider alternatives if you need active development, advanced features, or ongoing support.

Install

configurator on PyPI

pip

pip install configurator

uv

uv add configurator

poetry

poetry add configurator

Installing configurator

Before you install

Low install friction with no runtime dependencies. Maintenance is dormant—last release was 1066 days ago, though the repository remains active with a recent commit in May 2024. Suitable for stable use cases that don't require ongoing feature development.

License in practice

MIT license is permissive, allowing commercial and private use with minimal restrictions. You may use, modify, and distribute this package freely as long as you include the original license notice.

Quickstart

pip install configurator[yaml,toml]

from configurator import Config

defaults = Config({'threads': 1, 'cache': {'location': '/tmp'}})
system = Config.from_path('/etc/config.yaml')
config = defaults + system
print(config.threads)

Requires Python 3.6 or later. Optional YAML and TOML support requires installing extras: pip install configurator[yaml,toml].

Verify before relying

  • Whether the package handles circular references or deeply nested configuration merging edge cases
  • Performance characteristics with very large configuration files or many merge operations
  • Active maintenance timeline and whether dormant status affects long-term usability

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 1,066 days since the last release
Last repo commit
First released
Downloads 105,514/month — #12,694 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: configurator-3.2.0-py3-none-any.whl

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3

Tags

layered configuration managementyaml toml json config loaderenvironment variable config mergingmulti-source configuration buildernested config data structurescommand line argument configconfiguration file aggregation
configuration-managementsettings-loaderenvironment-variables

More Software Development packages