modyml/README.zh.md
Yuyao Huang (Sam) cd81214784 v0.1.0
2025-10-27 15:34:39 +08:00

57 lines
1.5 KiB
Markdown

# ModYml: 模块化配置管理库
## 📦 项目简介
ModYml 是一个轻量级的 Python 配置管理库,专为模块化和可复用的配置设计。通过 YAML 文件支持配置继承、参数覆盖和别名系统,让复杂配置管理变得简单直观。
## ✨ 核心特性
- **模块化配置**:将配置拆分为可复用模块
- **动态继承**:使用 `$module.key` 语法引用其他配置
- **参数覆盖**:支持运行时参数修改 `$module.key(param=value)`
- **别名系统**:为配置项创建简短别名 `key(alias)`
- **命名空间隔离**:自动管理配置项的命名空间
- **点式访问**:返回 `EasyDict` 对象支持属性式访问
## ⚙️ 安装
```bash
pip install modyml
```
## 🚀 快速开始
1. 创建模块配置 (`modules/optimizers.yml`):
```yaml
adam:
type: Adam
params:
learning_rate(lr): 0.001
weight_decay(wd): 0.0001
```
2. 创建实验配置 (`experiments/E01.yml`):
```yaml
training:
base_optimizer: $optimizers.adam
custom_optimizer: $optimizers.adam(lr=0.002)
special_optimizer($optimizers.adam):
params:
wd: 0.01
```
3. 加载配置:
```python
from modyml import load
config = load(
"experiments/E01.yml",
module_files=["modules/optimizers.yml"],
base_dir="configs/"
)
print(config.training.base_optimizer.params.lr) # 输出: 0.001
print(config.training.custom_optimizer.params.lr) # 输出: 0.002
print(config.training.special_optimizer.params.wd) # 输出: 0.01
```
## 🧪 测试
```bash
pytest tests/
```