{"categories":[{"label":"Scientific/Engineering","url":"https://skillfed.io/packages/category/scientific-engineering/2"}],"enrichment":{"capability":"Donfig provides a unified configuration system for Python packages, supporting programmatic setup, environment variables, and YAML files from standard locations.","skillfed_tags":["configuration-management","yaml-config","library-utility"],"use_cases":["Embed configuration management in a data science or scientific Python package without building custom config logic.","Allow users to override package settings via environment variables in containerized or cloud deployments.","Load application defaults from YAML files in standard system locations, with user overrides in home directories.","Provide temporary configuration changes within a code block using context managers without global state pollution.","Centralize package-wide settings in a single Config object accessible throughout a codebase."],"what_it_does":"Donfig is a configuration library that abstracts away the boilerplate of managing application settings across multiple sources. It originated from the dask library's configuration system and provides a Config object that can be instantiated per package to centralize settings management. The library automatically loads configuration from environment variables (prefixed with the config object's name in uppercase), YAML files in standard system locations (~/.config, /etc, sys.prefix/etc), and programmatic calls. This multi-source approach lets developers and users configure applications without modifying code, using whichever method fits their workflow.\n\nThe package is lightweight, depending only on pyyaml, and supports context managers for temporary configuration changes. It's designed to be embedded in other packages rather than used standalone, making it useful for library authors who want to offer their users flexible configuration without building a custom system.","worth_installing":"Yes. Donfig is a lightweight, actively maintained library with no known vulnerabilities, a permissive MIT license, and low install friction. It solves a real problem\u2014multi-source configuration management\u2014that library authors would otherwise implement themselves. Suitable for any Python package that needs flexible user-facing configuration."},"id":"donfig","links":{"html":"https://skillfed.io/packages/donfig","md":"https://skillfed.io/packages/donfig.md","pypi":"https://pypi.org/project/donfig/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2024-05-23","license_spdx":null,"license_treatment":"permissive","name":"donfig","python_support":"supports_current","summary":"Python package for configuring a python package"},"popularity":{"monthly_downloads":5985314,"position":1996,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.8.1.post1"}
