变更日志 ======== 0.4.5 ----- CLI 重构 ~~~~~~~~ - 新增 ``pf`` 统一入口:通过 ``pf [command] [options]`` 调用所有工具 - 13 个工具迁移到 YAML 配置(filedate/filelevel/folderback/folderzip/screenshot/sshcopyid/lscalc/bumpversion/autofmt/piptool/packtool/pdftool/gittool) - YAML 配置支持 ``cli:`` 段声明命令行参数 schema,由 ``build_cli_parser`` 自动生成 argparse - 删除 13 个冗余 ``.py`` 入口脚本,统一通过 ``pf`` 调用 - ``run()`` 在 ``verbose=True`` 时自动把 verbose 标记应用到所有 spec - 全局选项 ``--verbose`` 改为 ``--quiet``(默认显示执行过程) - ``cmd`` 任务成功时打印 stdout(此前被静默丢弃) - ``gittool`` 用 ``CLEAN_EXCLUDES`` 数组变量配置 ``git clean -e`` 参数 YAML 任务编排 ~~~~~~~~~~~~~ - 支持 ``variables`` 变量定义,``${VAR}`` 在 cmd/env/cwd 中替换 - 列表变量展开为 cmd 数组多个元素 - ``cli:`` 段支持 subcommands/positional/options 三级 schema - 支持 ``type: path`` 自动转为 ``pathlib.Path`` 文档 ~~~~ - 搭建 Sphinx 文档,发布到 ReadTheDocs - 更新 README:CLI 示例改为 ``pf`` 统一入口,模块结构表补全 0.3.x ----- - 新增 YAML 任务编排(GitHub Actions 风格 schema) - 新增 ``fn:`` 函数引用与 ``register_fn`` / ``get_fn`` 注册中心 - 新增 ``compose`` / ``GraphComposer`` 多图组合 - 新增 ``task_template`` 任务模板工厂 - 新增 ``concurrency_key`` + ``concurrency_limits`` 并发限制 - 新增 ``JSONBackend`` 断点续跑与 ``batch()`` 批量落盘 - 新增 ``cache_key`` 缓存键函数 - 新增条件执行(``IS_WINDOWS`` / ``HAS_INSTALLED`` / ``ENV_VAR_EQUALS`` 等) - 四种执行策略:``sequential`` / ``thread`` / ``async`` / ``dependency`` - 参数名即依赖的上下文注入机制