zhou
|
8bfa0da590
|
fix: 修复 _make_dispatcher 前向引用解析导致的 NameError
CI / Lint, Typecheck & Test (push) Has been cancelled
from __future__ import annotations 使注解变为字符串,dispatcher.__globals__ 是 tools.py 命名空间不含用户模块自定义类型(如 BumpVersionType),typer 调 get_type_hints 时 NameError。用原始函数 __globals__ 预解析后写入实际类型。
|
2026-07-08 15:22:03 +08:00 |
|
zhou
|
ae4cc3aeeb
|
feat: 新增 px.sh 命令执行封装 — 支持 list[str](直接执行)/ str(shell=True),统一中文错误处理,失败返回 None 不抛异常;sglang.py 首个迁移示例
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-08 14:56:54 +08:00 |
|
zhou
|
fbabbc98ad
|
feat: 任务优先级调度 + 条件分支构造器 + 大图增量就绪集优化 — DependencyRunner 重写为事件驱动优先级调度;新增 px.switch/px.branch DAG 构造器;_build_dependency_index 替代 O(N) 每轮扫描使大图调度从 O(N²) 降至 O(N),10k 任务 <1s
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-08 12:28:43 +08:00 |
|
zhou
|
bd3651e337
|
feat: 改进 API 简洁性 — depends_on 自动推断 + px.graph() 快捷构造 + 文档现代化
CI / Lint, Typecheck & Test (push) Has been cancelled
depends_on 为空的纯 fn 任务自动从必需参数名推断依赖(匹配图中任务名),
消除显式声明 depends_on 的样板代码;安全规则:仅必需参数、非 Context 标注、
非 *args/**kwargs、非 soft_depends_on、非自名。新增 px.graph(*specs) 可变
参数快捷构造;_is_context_annotation 重命名为公开 is_context_annotation;
__init__/fileops/compose/task 文档示例统一现代化。1694 测试全绿,覆盖率 97.25%。
|
2026-07-08 10:20:21 +08:00 |
|
zhou
|
05ca3950a2
|
perf: 优化执行热路径,sequential 吞吐提升 22%
CI / Lint, Typecheck & Test (push) Has been cancelled
env_context 快速路径跳过无 env/cwd 任务的上下文管理器创建;
should_execute 无条件时早退;_filter_and_sort 返回 specs dict
消除 Layer runner 重复 resolved_spec 调用;storage_key 内联判断。
|
2026-07-08 08:29:42 +08:00 |
|
zhou
|
6c0b6af21b
|
feat: P12 通用 DAG 构造器 — pipelines.py 提供 data_pipeline(函数式数据流水线)/command_chain(命令链)/fan_out_fan_in(map-reduce)3 个构造器,减少手动 TaskSpec 样板代码;37 测试含 4 个 fileops 联用示例,pipelines.py 100% 覆盖率
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 22:41:23 +08:00 |
|
zhou
|
9964db771e
|
feat: P11 文件操作底层 API — fileops.py 20 个纯函数(查找遍历/读写/复制移动删除/元数据校验)供 DAG 组合调用,返回数据不打印;80 测试含 5 个 DAG 组合示例,1640 测试全绿,覆盖率 97.17%
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 21:39:13 +08:00 |
|
zhou
|
919c6a4544
|
docs: P10 图片处理文档同步 — iter-22 迭代记录、SKILL.md 第十五章(可复用模式/设计决策/踩坑总结)、project_memory P10 约定;与 8e3ddc5 代码提交一并推送
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 20:10:44 +08:00 |
|
zhou
|
8e3ddc5a1e
|
feat: 新增图片处理工具链与imagetool CLI命令
新增完整的图片处理能力:
1. 新增imagetool CLI工具,支持resize/crop/rotate/flip/convert/watermark/compress等基础操作,以及info/exif/histogram/colors元数据查看功能
2. 新增image_pipeline流水线构造器,支持链式编排多步图片处理DAG
3. 注册CLI别名image/img到imagetool,导出image_pipeline到顶层API
4. 配套新增完整单元测试与文档
|
2026-07-07 19:57:35 +08:00 |
|
zhou
|
be2273722f
|
docs: 同步 SKILL.md 至 P9 — 新增第十四章(任务编排/数据流/检查点恢复/RunHistory)与第九章监控导出小节,覆盖 iter-21 行为变更
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 18:39:54 +08:00 |
|
zhou
|
5ac7fd33c6
|
feat: P9 功能扩展 — 任务编排(group/dynamic)/数据流(output_of/pipeline)/持久化(resume_from/RunHistory)/监控导出(MetricsCollector/health_check/HTTP server);1525 测试全绿,覆盖率 97.58%
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 17:55:38 +08:00 |
|
zhou
|
07adbad847
|
refactor: 移除 graphlib 相关引用 — graph.py docstring 不再提 graphlib 对比、python-standards.md 删除 graphlib_backport 依赖说明(项目已自实现 Kahn 算法)、SKILL.md 归档章节清理 graphlib 对比描述
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 17:17:13 +08:00 |
|
zhou
|
8b8598fa41
|
perf: P8 性能优化 — 自实现 Kahn 拓扑排序替换 graphlib(diamond-1000 1.62x)、_json.py 抽象层支持 orjson 可选加速、dataclass slots=True 内存优化(TaskSpec 15.5% 减少)、线程池跨层复用与 get_running_loop 兼容 3.12+;iter-16~20 归档到 skills
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 17:11:34 +08:00 |
|
zhou
|
a9f15e236d
|
feat: P7 功能增强 — 通知器扩展(Slack/Discord/Telegram)、HTML 报告导出(to_html)、YAML 增强(matrix include-exclude/条件依赖/outputs)、缓存增强(invalidate 单键失效/MemoryBackend LRU 驱逐)
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 16:26:46 +08:00 |
|
zhou
|
9573f1f2a2
|
refactor: 质量收尾 — diagnostics.py pragma 清理(4 处:1 激活 3 删除)、context.py 与 reseticoncache.py 覆盖率提升至 100%、README 同步 pyrefly、iter-06~15 归档到 skills/pyflowx-development/SKILL.md。
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 15:45:21 +08:00 |
|
zhou
|
18ffae8390
|
perf: 性能优化深入 — build_call_args fn-no-deps 快速路径(3.7x)、JSONBackend batch 延迟验证(16.5%)、from_specs 批量注册;新增 8 个高级基准场景;pyproject 加 search-path 解析 benchmarks 包。
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 15:28:52 +08:00 |
|
zhou
|
5831c92f97
|
fix(ops): 修复 dockercmd/msdownload/sglang 的 check=False 静默失败问题,改用 check=True + try/except 打印 rich 错误信息;taskkill 检查 returncode 打印结果;clr/which 加注释说明 check=False 原因;补 9 个错误路径测试覆盖 CalledProcessError/FileNotFoundError。
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 14:44:48 +08:00 |
|
zhou
|
02ef858718
|
feat: CLI 体验增强 — yamlrun --list 过滤, graph --color-by tag 着色, pf info 工具详情, pf completion shell 补全
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 14:35:16 +08:00 |
|
zhou
|
5e6daa554f
|
feat: 观测性增强 — RunReport.run_id 贯穿日志/序列化, 结构化 extra 字段, profile() 便捷方法
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 14:08:18 +08:00 |
|
zhou
|
520694f2df
|
feat: 失败诊断增强 — RunReport.diagnose() 根因分析与依赖链回溯
CI / Lint, Typecheck & Test (push) Has been cancelled
新增 diagnostics 模块:根因识别、依赖链 BFS 回溯、相似失败聚类、
常见异常可操作建议;TaskFailedError 携带 report 供 CLI 打印诊断摘要。
|
2026-07-07 13:52:43 +08:00 |
|
zhou
|
8d626f606e
|
feat: 新增 pf graph 终端 DAG 可视化命令与 yamlrun --progress 选项
CI / Lint, Typecheck & Test (push) Has been cancelled
pf graph 支持 ASCII 分层树/Mermaid/list/deps 四种输出格式;
yaml_loader._safe_load 包装 YAMLError 为 ValueError 统一错误处理。
|
2026-07-07 12:58:44 +08:00 |
|
zhou
|
6499210dc9
|
feat: RunReport 结果序列化支持 to_json/to_dict/to_csv/from_json
CI / Lint, Typecheck & Test (push) Has been cancelled
新增 RunReport 序列化方法,支持 JSON/dict/CSV 多格式导出与反序列化重建;
非 JSON 可序列化值默认回退到 repr,可通过 value_serializer 自定义。
|
2026-07-07 12:51:06 +08:00 |
|
zhou
|
7b5e4864c2
|
feat: 新增子图执行 — Graph.subgraph_with_deps 计算传递闭包, run(only=/tags=) 按名称或标签运行图子集, yamlrun CLI 支持 --only/--tags; 修复 test_executors.py 中 TaskStatus 缺少 px. 前缀的预存问题
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 12:44:50 +08:00 |
|
zhou
|
6614dc5a8d
|
feat(cancellation): 新增任务取消与优雅停止 — CancelToken 线程安全取消令牌, run(cancel_event=) 支持外部取消与 KeyboardInterrupt 优雅停止; 各策略在层/任务边界检查取消信号, 待运行任务标记 SKIPPED; 提取 _dispatch_strategy 辅助函数控制 run() PLR0912 分支数
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 11:53:27 +08:00 |
|
zhou
|
98c3d84334
|
perf: 添加性能基准套件并优化 layers 缓存与 cmd 快速路径
CI / Lint, Typecheck & Test (push) Has been cancelled
新增 benchmarks 模块覆盖图构建/执行/上下文注入/状态后端四个维度;
Graph.layers() 结果缓存避免重复拓扑排序,cmd 任务跳过签名内省。
|
2026-07-07 11:38:37 +08:00 |
|
zhou
|
9f50bb3e7c
|
feat: 实现 GitHub Actions 风格 YAML 任务编排
CI / Lint, Typecheck & Test (push) Has been cancelled
新增 yaml_loader 模块支持 jobs/needs/strategy.matrix/if 条件/env/defaults 等 CI/CD 概念,
Graph.from_yaml classmethod 与 pf yamlrun CLI 命令;矩阵笛卡尔积展开与依赖自动展开,
${{ matrix.key }} 占位符替换,字段名 hyphen/underscore 兼容。
|
2026-07-07 11:27:16 +08:00 |
|
zhou
|
8cfdef7516
|
docs: 对齐 README 与实际代码状态, 清理过期文档 — 移除未实现的 YAML 编排特性声明与整章, 修正覆盖率徽章 100%→97%, 修正依赖描述(实际 rich+typer+typing-extensions, 无 PyYAML), 修正 CLI 模块路径(profiler/emlmanager 已迁至 cli/legacy/); 归档 iter-01~05 迭代记录(设计决策已存 project_memory.md), 删除过期重构计划文档; 保留 typing_extensions 守卫(3.12/3.13 前向兼容非 3.8 死代码)
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 11:11:04 +08:00 |
|
zhou
|
505e40012e
|
feat(executors): 新增 run_iter() 流式执行 API — 生成器逐个 yield (name, TaskResult), 后台线程+队列实现, 支持 4 种策略; _finalize_failure 在抛出前写入 report.results 使失败任务可被 yield; run() 新增内部 _report 参数支持结果共享
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 10:45:41 +08:00 |
|
zhou
|
a32c65c8a0
|
feat(notification): 新增任务通知系统 — Notifier 协议 + CallbackNotifier/WebhookNotifier 及飞书/钉钉/企业微信实现, run(notifiers=) 支持单值/列表, 事件级别过滤, 提取 _finish_monitoring 控制 run 分支数, 通知失败仅记录日志不影响任务执行
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 10:29:36 +08:00 |
|
zhou
|
936e0d2a26
|
feat(progress): 新增实时进度监控 — ProgressCallback 协议 + RichProgressMonitor, run(progress=) 支持 bool/自定义监控器, 与 on_event/verbose 共存, 提取 _resolve_progress 控制 run 分支数
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 10:17:42 +08:00 |
|
zhou
|
0ecda36759
|
feat(storage): 新增 SQLiteBackend 状态后端 — 基于 sqlite3 按键查询, 支持 TTL/batch/线程安全, 解决 JSONBackend 全量加载瓶颈, 作为 drop-in 替换
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 10:10:40 +08:00 |
|
zhou
|
b71c90ba5c
|
refactor(ops): 整合 tasks/ 到 ops/system — setenv/writefile 转为 @px.tool, 丢弃重叠的 clr/reset_icon_cache/which 工厂, 删除 tasks 目录
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 09:43:27 +08:00 |
|
zhou
|
d733452c8a
|
refactor(ops): 按功能划分重构 ops/ 结构 — 22 个工具归入 files/dev/system/infra 子包, pf 动态导入注册表, 测试导入路径同步
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 08:43:36 +08:00 |
|
zhou
|
c502556db9
|
refactor(cli): legacy 工具归入 cli/legacy/ — emlmanager 与 profiler 移至子目录, 入口点与导入路径同步更新
|
2026-07-07 08:33:25 +08:00 |
|
zhou
|
e1824b9f5a
|
fix(cli): 修复 pf 工具缺失必填参数时无错误提示 — standalone_mode=False 下手动调用 rich_format_error 打印 ClickException
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 08:17:04 +08:00 |
|
zhou
|
5e93a75987
|
refactor(ops): 清理无用代码与过时文档 — 删除 gittool 兼容别名、folderzip 未用 IGNORE 变量、过时迁移计划文档
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-07 03:02:24 +08:00 |
|
zhou
|
529a024ea1
|
feat(cli): rich 深度集成 — 执行生命周期 ✓/✗/▸/○ 符号 + dry-run + 命令输出
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-06 22:27:25 +08:00 |
|
zhou
|
4721b59f40
|
feat(cli): 重构CLI并添加富文本输出与版本/帮助优化
CI / Lint, Typecheck & Test (push) Has been cancelled
- 使用rich库重构工具列表展示为美观的表格形式
- 添加--version/-V参数显示版本号
- 新增未知工具的模糊匹配提示功能
- 统一使用标准错误输出和富文本样式打印错误信息
- 优化命令行参数处理逻辑,支持先解析help/version参数
|
2026-07-06 22:16:12 +08:00 |
|
zhou
|
fca6f17a5c
|
chore: 升级项目适配 Python 3.10+ 并重构代码
1. 移除对 Python 3.8/3.9 的支持,更新 tox、pyproject.toml 配置
2. 替换 typing 导入为 collections.abc 标准库类型
3. 重构 CLI 系统从 argparse 迁移到 typer
4. 优化代码格式与类型注解,修复多处类型兼容问题
5. 更新依赖声明,移除 graphlib_backport 兼容包
|
2026-07-06 22:14:59 +08:00 |
|
zhou
|
d493c6233e
|
docs(rules): 补充多阶段项目约束与更新规则说明
新增开发流程约束文档dev-workflow.md,完善self-driven.md中的多阶段项目规则,
补充阶段迭代、收尾的判定逻辑,修正目标达成的暂停条件说明
|
2026-07-06 21:16:07 +08:00 |
|
zhou
|
7a87a4177e
|
feat(ops): 新增 _common 共享辅助模块消除跨平台重复代码
CI / Lint, Typecheck & Test (push) Has been cancelled
新增 src/pyflowx/ops/_common.py 提供 platform_command/ensure_platform/IGNORE_PATTERNS 三个公共 API, 配套 12 个单元测试; 修复上个提交中 8 个 ops 模块引用缺失模块导致的 ImportError.
|
2026-07-06 20:40:38 +08:00 |
|
zhou
|
04d6871e8d
|
chore: 发布v0.4.8版本,清理冗余代码并优化跨平台实现
1. 移除folderzip和folderback模块中的默认导出函数与测试用例
2. 重构跨平台命令获取逻辑,统一使用platform_common工具函数
3. 移动IGNORE_PATTERNS常量到公共模块,精简packtool和autofmt代码
4. 重构平台检查逻辑,复用ensure_platform减少重复代码
5. 优化pdftool模块的依赖检查逻辑,提取公共检查函数
6. 修复测试用例中的字符串断言冗余内容
|
2026-07-06 20:22:59 +08:00 |
|
zhou
|
08149d990d
|
bump version to 0.4.8
Release / Build, Publish & Release (push) Has been cancelled
CI / Lint, Typecheck & Test (push) Has been cancelled
v0.4.8
|
2026-07-06 13:19:24 +08:00 |
|
zhou
|
54aef98f3a
|
chore(gittool): 新增ruff缓存目录到排除列表
CI / Lint, Typecheck & Test (push) Has been cancelled
将.ruff_cache添加到EXCLUDE_DIRS列表中,避免git工具扫描该缓存目录
|
2026-07-06 13:11:59 +08:00 |
|
zhou
|
e31646e281
|
feat: 新增envdev、gittool、msdownload、pymake工具模块及对应测试用例
新增四个业务工具模块:
1. envdev: 开发环境镜像源配置工具,支持Python/Conda/Rust镜像配置及Linux系统环境配置
2. gittool: Git操作工具,提供提交、初始化、清理、推送等快捷子命令
3. msdownload: ModelScope模型/数据集下载工具
4. pymake: 项目构建工具,覆盖构建、测试、发布等全流程开发操作
同时为每个工具模块编写了完整的注册验证与功能测试用例
|
2026-07-06 13:11:09 +08:00 |
|
zhou
|
f7fb95af83
|
refactor: 重构项目架构,移除YAML编排与旧注册系统
1. 将所有YAML配置的工具迁移到`@px.tool`装饰器实现
2. 拆分`llm`模块为`msdownload`和`sglang`子模块
3. 移除废弃的`registry.py`、`yaml_loader.py`和`yamlrun.py`模块
4. 清理项目依赖,移除PyYAML相关包
5. 更新文档与测试用例适配新架构
|
2026-07-06 13:04:57 +08:00 |
|
zhou
|
6da42ec5ff
|
refactor: 移除YAML配置,统一使用@px.tool装饰器实现CLI工具
1. 新增tools.py模块实现@px.tool装饰器与工具注册表
2. 将所有configs下的YAML工具迁移为ops/xxx.py模块形式
3. 重构cli路由逻辑,优先加载Python工具实现回退YAML
4. 删除所有YAML配置文件与旧的yaml_loader相关代码
5. 调整__init__.py导出API,移除YAML相关依赖
|
2026-07-06 07:53:22 +08:00 |
|
zhou
|
c55a37173a
|
test: 新增 YamlCliRunner 错误分支测试使覆盖率达标 95%
CI / Lint, Typecheck & Test (push) Has been cancelled
|
2026-07-05 22:25:15 +08:00 |
|
zhou
|
960b8672f4
|
test: 新增截图、PDF工具相关的单元测试
1. 新增Linux平台下截图工具回退到scrot的测试用例
2. 新增pdf加密、解密、重排、PDF转图片的完整测试用例
3. 补充各PDF工具未安装依赖时的分支测试
|
2026-07-05 22:21:47 +08:00 |
|
zhou
|
4fd1d70b58
|
test: 修复跨平台路径断言不兼容问题
1. 调整测试用例中的路径比较逻辑,统一替换反斜杠为正斜杠适配Windows平台
2. 将原生echo/true/false命令替换为跨平台的python执行命令,避免环境依赖问题
|
2026-07-05 22:18:16 +08:00 |
|