{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/5"}],"enrichment":{"capability":"Adds dynamic string interpolation to YAML configuration files, allowing values to reference other parts of the configuration tree using Python format string syntax.","skillfed_tags":["yaml-config","configuration-management"],"use_cases":["Build configuration files where paths are defined once at the root and reused throughout nested sections.","Generate environment-specific configs (dev, staging, prod) by changing a few base values and letting references propagate.","Combine with argparse to override base parameters and have dependent paths update automatically.","Export resolved configurations to YAML for deployment or documentation without manual path expansion.","Reduce duplication in large configuration files by centralizing repeated values as references."],"what_it_does":"Dynamic YAML extends PyYAML to support self-referential configuration values. Instead of repeating paths or values throughout a YAML file, you can use Python format string syntax (curly braces) to reference other keys in the configuration tree\u2014for example, `{dirs.home}/venvs/{project_name}` will resolve to the actual values of those keys. This turns static YAML into a lightweight templating system suitable for managing complex configuration hierarchies.\n\nThe package works by wrapping PyYAML's loader and providing a `load()` function that returns an object with attribute access to configuration keys. References are resolved dynamically when accessed, and you can also dump the resolved configuration back to YAML. It integrates naturally with tools like argparse, allowing command-line arguments to override configuration values that other parts of the config depend on.","worth_installing":"Yes, if you need lightweight configuration templating in YAML. The package is simple, has minimal dependencies, and solves a real problem\u2014avoiding repetition in configuration files. However, maintenance is dormant (last update 2024-04-09), so adopt it only if you can tolerate no active support. The MIT license carries no restrictions. Not suitable if you need active bug fixes or features."},"id":"dynamic-yaml","links":{"html":"https://skillfed.io/packages/dynamic-yaml","md":"https://skillfed.io/packages/dynamic-yaml.md","pypi":"https://pypi.org/project/dynamic-yaml/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-04-09","license_spdx":null,"license_treatment":"permissive","name":"dynamic-yaml","python_support":"supports_current","summary":"Enables self referential yaml entries"},"popularity":{"monthly_downloads":576509,"position":5929,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"2.0.0"}
