{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/14"}],"enrichment":{"capability":"sconf is a YAML-based configuration library that merges multiple config files and applies command-line modifications through an argparse-like interface, with support for nested key access and global config registration.","skillfed_tags":["config-management","yaml","cli-override"],"use_cases":["Machine learning experiments: manage model hyperparameters across default, experiment, and CLI-provided configs in a single Config object.","Multi-environment deployments: merge environment-specific YAML files (dev, staging, prod) with CLI overrides for runtime customization.","Research reproducibility: store experiment configs in YAML, apply CLI modifications, and dump the final config with visual markers of what changed.","Nested parameter access: access deeply nested config values via dot notation or CLI with dot-separated keys.","Global config sharing: register a config globally and retrieve it from any module without passing it through function arguments."],"what_it_does":"sconf is a lightweight YAML-based configuration system designed to simplify config management in Python applications, particularly in machine learning and research projects. It loads YAML files, merges multiple configs hierarchically, and allows runtime modification through command-line arguments using an argparse-like syntax. The library supports both dictionary-style and attribute-style access to nested configuration values, with special features like coloring modified keys in output and global config registration for convenient access across modules.\n\nThe package targets scenarios where you want to avoid boilerplate argument parsing while maintaining a clean separation between default configs, experiment-specific overrides, and runtime CLI tweaks. It depends on ruamel.yaml for YAML parsing and munch for attribute-style dictionary access. However, the project has not been maintained since September 2021, so it carries the risk of incompatibility with future Python versions or dependency updates.","worth_installing":"Yes, if you need a lightweight YAML config system for a stable project and can tolerate no future maintenance. The library is simple, low-friction to install, and has no known vulnerabilities. However, do not use it for new projects requiring long-term support\u2014the package has been abandoned since 2021 and will not receive updates for Python or dependency incompatibilities. Consider it suitable only for internal tools, research code, or projects where you can fork and maintain it yourself if needed."},"id":"sconf","links":{"html":"https://skillfed.io/packages/sconf","md":"https://skillfed.io/packages/sconf.md","pypi":"https://pypi.org/project/sconf/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2021-09-20","license_spdx":null,"license_treatment":"permissive","name":"sconf","python_support":"supports_current","summary":"Simple config supporting CLI modification"},"popularity":{"monthly_downloads":173395,"position":10310,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.2.5"}
