setoptconf
A module for retrieving program settings from various sources in a consistant method.
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 on this page — 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
setoptconf on PyPI
pip
pip install setoptconfuv
uv add setoptconfpoetry
poetry add setoptconfInstalling 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 the current Python release (>=3.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,800 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 138,132/month — #11,343 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: setoptconf-0.3.0-py3-none-any.whl
Keywords: settings, options, configuration, config, arguments
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
setoptconf-tmpRetrieves program settings from multiple…
permissive · top 15,000 on PyPI
pytoolconfigPytoolconfig reads and manages configuration…
copyleft · top 5,000 on PyPI
PyStaticConfigurationLoads, validates, and reads configuration from…
permissive · top 15,000 on PyPI
ConfigArgParseExtends Python's argparse to parse command-line…
permissive · top 1,000 on PyPI
everettEverett is a configuration library that reads…
copyleft · top 15,000 on PyPI
dynaconfDynaconf manages application configuration…
permissive · top 5,000 on PyPI
click-configfileExtends click with configuration file support,…
permissive · top 15,000 on PyPI
config-parserMerges configuration from YAML/JSON files,…
agpl · top 5,000 on PyPI
typed-configReads typed configuration from multiple sources…
permissive · top 15,000 on PyPI
maisonMaison reads configuration settings from files…
permissive · top 5,000 on PyPI