--- id: setoptconf version: "0.3.0" license: MIT license_treatment: permissive maintenance: abandoned --- # setoptconf — A module for retrieving program settings from various sources in a consistant method. License: permissive · Maintenance: abandoned · Downloads: 138.1K/mo ## What it is and what it does Setoptconf is a configuration aggregator that lets you define settings once and then retrieve them from multiple sources—command line, environment variables, and config files in INI, JSON, or YAML format—with a priority order you control. You instantiate a ConfigurationManager, add settings definitions (string, integer, boolean, etc.), then call retrieve() with a list of sources; it merges them and returns a single configuration object with all your settings as attributes. The library is designed to reduce boilerplate when building programs that need to read settings from many places. Instead of writing separate parsers for each source, you declare what settings exist and let setoptconf handle the lookup and override logic. It has no runtime dependencies, making it lightweight to add to a project. Use it for: - Build a CLI tool that reads settings from command-line flags, a config file, and environment variables with a single unified interface. - Define application settings once and let them be overridden by environment variables in containerized or cloud deployments. - Merge INI and JSON configuration files with environment-based overrides for multi-environment deployments. - Create a configuration system where command-line arguments take precedence over file-based settings. - Load settings from Python modules or objects for programmatic configuration in test or plugin scenarios. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Setoptconf retrieves program settings from command-line arguments, environment variables, INI files, JSON files, YAML files, and Python objects, merging them with a configurable priority order. No. The package is abandoned (last commit 2021-09-10, over 1800 days ago) with no active maintenance. While it has no known vulnerabilities and low install friction, the lack of maintenance means no bug fixes, security updates, or compatibility work for future Python versions. For new projects, consider actively maintained alternatives. ## Install pip install setoptconf uv add setoptconf poetry add setoptconf ## Installing setoptconf Before you install: Low install friction with no runtime dependencies. However, the package is abandoned—last commit was 2021-09-10, over 1800 days ago. No active maintenance or security updates should be expected. License in practice: MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions. Quickstart: import setoptconf as soc manager = soc.ConfigurationManager('myprogram') manager.add(soc.StringSetting('foo')) manager.add(soc.IntegerSetting('bar', required=True)) config = manager.retrieve(soc.CommandLineSource, soc.EnvironmentVariableSource) Verify before relying: - Whether YAML and JSON file support require optional dependencies not listed in the fact sheet - Current compatibility with modern Python versions beyond the stated >=3.0 requirement - Whether the project's abandonment affects real-world usability or if it remains stable for its intended scope ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: abandoned - Downloads: 138.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags configuration management library, settings from multiple sources, config file and environment variables, command line argument parsing, unified configuration loader, ini yaml json config, environment variable config, config-management, abandoned [View on SkillFed](https://skillfed.io/packages/setoptconf) · [View on PyPI](https://pypi.org/project/setoptconf/)