yacman
A YAML configuration manager
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- File-based locking is not re-entrant; do not nest lock contexts on the same file or deadlock will occur.
- Low install friction with only two runtime dependencies (pyyaml and ubiquerg).
License · maintenance · safety
BSD-2-Clause (permissive) — BSD-2-Clause is a permissive license allowing commercial and private use with minimal restrictions; you may use this package freely in most projects.
last release 2026-03-06 (161 days) · last repo commit 2026-03-25 · 8 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 213,394 downloads/mo, #9,438 on PyPI
Alternatives
Verify before relying
from yacman import YAMLConfigManager, write_lock, read_lock
data = {"my_list": [1,2,3], "my_int": 8}
ym = YAMLConfigManager.from_obj(data)
print(ym["my_int"])
with write_lock(ym) as locked_ym:
locked_ym.rebase_and_write()- Whether ubiquerg dependency is a utility library or introduces significant transitive dependencies.
- Performance characteristics when handling large YAML files or frequent concurrent access patterns.
What it is and 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.
The 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.
Use it for
- 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.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
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.
Install
yacman on PyPI
Before you install
Low install friction with only two runtime dependencies (pyyaml and ubiquerg). Actively maintained with a recent release (161 days ago) and ongoing repository activity.
Requires Python 3.10 or later. File-based locking is not re-entrant; do not nest lock contexts on the same file or deadlock will occur.
License in practice
BSD-2-Clause is a permissive license allowing commercial and private use with minimal restrictions; you may use this package freely in most projects.
Quickstart
from yacman import YAMLConfigManager, write_lock, read_lock
data = {"my_list": [1,2,3], "my_int": 8}
ym = YAMLConfigManager.from_obj(data)
print(ym["my_int"])
with write_lock(ym) as locked_ym:
locked_ym.rebase_and_write()
Verify before relying
- Whether ubiquerg dependency is a utility library or introduces significant transitive dependencies.
- Performance characteristics when handling large YAML files or frequent concurrent access patterns.
Package facts
| License | BSD-2-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagespyyamlubiquerg |
| Maintenance | Actively maintained 161 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 213,394 / month, #9,438 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/Engineering :: Bio-Informatics |
Evidence: yacman-1.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “yaml configuration manager”
- yacmanYacman provides a Python interface for reading, writing, and managing…
- tmuxptmuxp saves and loads tmux sessions from YAML or JSON configuration…
- esphome-dashboardESPHome Dashboard is a web-based frontend for creating and managing…
Give your agent the search over MCP, or paste the wish link into any chat.
More Bio-Informatics packages
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Biopython provides Python tools for computational molecular biology, including sequence analysis, structure parsing, database access, and phylogenetic tree manipulation.
However, verify that the custom Biopython License Agreement aligns with your project's licensing requirements before committing to it in production or proprietary work.
Client library for the Firecrawl API that scrapes, crawls, and searches the web, returning clean Markdown or structured data; also indexes research papers from PubMed, bioRxiv, medRxiv, and arXiv.
A self-balancing interval tree data structure that stores and queries overlapping or enveloped ranges, supporting point lookups, range overlaps, and range envelopment queries.
Install it if you need to store and query overlapping or enveloped ranges; the self-balancing design and rich query interface make it significantly easier than…
Albumentations applies image transformations to training data, supporting classification, segmentation, object detection, and pose estimation with a unified API for images, masks, bounding boxes, and keypoints.
Install it if you need a unified, production-grade augmentation API for computer vision tasks.
PubChemPy is a Python wrapper around the PubChem REST API that lets you search for chemical compounds by name, substructure, or similarity, retrieve their properties, and convert between chemical file formats.
Install it if you need programmatic access to PubChem data.
See also yacs · bestconfig · dynamic-yaml · sconf · simple-settings · filelock · Pymem · zc.lockfile · locket · pynvim