{"categories":[{"label":"Bio-Informatics","url":"https://skillfed.io/packages/category/scientific-engineering-bio-informatics"}],"enrichment":{"capability":"Yacman provides a Python interface for reading, writing, and managing YAML configuration files with support for file locking, environment variable expansion, and multi-process safe updates.","skillfed_tags":["yaml-config","file-locking","multi-process"],"use_cases":["Load and access nested YAML configuration files in a Python application with dictionary-like syntax.","Safely update YAML config files from multiple processes using write_lock to prevent concurrent writes and data loss.","Expand environment variables in YAML values using the `.exp` accessor for dynamic configuration.","Convert between YAML files, Python dictionaries, and YAML strings for configuration serialization.","Rebase in-memory configuration against disk changes when other processes may have modified the file."],"what_it_does":"Yacman is a YAML configuration manager that wraps pyyaml and ubiquerg to provide a higher-level interface for loading, modifying, and persisting YAML configuration files. It exposes configuration data as a dictionary-like object with support for nested access, environment variable expansion via the `.exp` attribute, and conversion to/from Python objects and YAML strings.\n\nThe package's main feature is file-safe concurrent access through separate read and write locks, allowing multiple processes to read a configuration simultaneously while ensuring writes are serialized and can rebase against disk changes. Version 1.0.0 introduced explicit constructor functions (from_yaml_file, from_yaml_data, from_obj) and separated locking into read_lock and write_lock context managers, replacing the earlier unified lock pattern. It targets Python 3.10+ and is actively maintained.","worth_installing":"Yes. Yacman is a lightweight, actively maintained configuration manager with low install friction, permissive licensing, and no known vulnerabilities. Install it if you need file-safe concurrent YAML access with environment variable expansion; skip it if you only need basic YAML parsing without multi-process locking."},"id":"yacman","links":{"html":"https://skillfed.io/packages/yacman","md":"https://skillfed.io/packages/yacman.md","pypi":"https://pypi.org/project/yacman/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-03-06","license_spdx":"BSD-2-Clause","license_treatment":"permissive","name":"yacman","python_support":"supports_current","summary":"A YAML configuration manager"},"popularity":{"monthly_downloads":213394,"position":9438,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.0.0"}
