--- id: configurator version: "3.2.0" license: MIT license_treatment: permissive maintenance: dormant --- # configurator — A library for building a configuration store from one or more layered configuration sources License: permissive · Maintenance: dormant · Downloads: 105.5K/mo ## 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 above — 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 pip install configurator uv add configurator 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_current - Install friction: low - Maintenance: dormant - Downloads: 105.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags layered configuration management, yaml toml json config loader, environment variable config merging, multi-source configuration builder, nested config data structures, command line argument config, configuration file aggregation, configuration-management, settings-loader, environment-variables [View on SkillFed](https://skillfed.io/packages/configurator) · [View on PyPI](https://pypi.org/project/configurator/)