zhou
40f641611b
feat: 新增多项核心功能并优化默认执行策略
...
1. 将CliRunner默认执行策略从sequential改为dependency
2. 新增RunReport的任务状态查询和时长统计方法
3. 实现task装饰器并补充executor参数文档
4. 新增进程池执行器支持CPU密集型任务
5. 新增Graph.chain链式构建和add_subgraph子图合并功能
6. 新增流式任务传递、进程池执行、命名空间等多类测试用例
7. 补充tests目录路径导入配置
2026-06-28 15:10:15 +08:00
zhou
232e7293d9
refactor(system): 简化write_file实现,使用pathlib替代手动文件操作。
2026-06-28 11:20:58 +08:00
zhou
a1bae58e56
refactor: 优化日志配置与代码细节
...
1. 统一使用__name__替代硬编码的logger名称
2. 使用pathlib替代os.path处理程序名
3. 细化异常捕获并优化日志打印格式
4. 收紧文件内容检查的异常捕获范围
2026-06-28 10:57:51 +08:00
zhou
cbc7cc0a75
docs: 拆分测试规范到独立技能文档并更新主规范
...
将原python-standards.md中的测试章节迁移到新建的pyflowx-testing/SKILL.md,更新主规范指向新文档,同时整理优化了整体文档结构与内容。
2026-06-28 10:19:26 +08:00
zhou
d0ff7d7b4d
docs: 更新 README 与新增 Python 开发规范文档
...
本次提交大幅完善了 PyFlowX 的 README 文档,新增了四种执行策略、软依赖、并发限制、任务钩子等多项特性说明,补充了任务模板、图组合、缓存键等新功能的使用示例,同时更新了执行参数、执行策略对照表与模块结构文档。另外新增了 .trae/rules/python-standards.md 规范文档,统一了项目的代码风格、类型检查、测试编写等开发标准。
2026-06-28 09:34:45 +08:00
zhou
d154f67ce0
+trae ignore
2026-06-28 08:44:23 +08:00
zhou
9999071119
refactor(executors): 重构执行器逻辑,移除重复mixin并优化分层排序
...
主要变更:
1. 将任务跳过/重试逻辑从类mixin改为模块级函数,减少代码重复
2. 优化_graph.layers()的前置校验逻辑,统一在run入口执行
3. 重构存储过期检查API,移除废弃的_expired方法
4. 优化TaskSpec.cache_key异常处理,增加指定异常捕获并记录警告
5. 修复verbose模式下的事件回调逻辑,正确触发RUNNING事件
6. 调整测试用例以适配新的API和行为变更
2026-06-28 08:25:15 +08:00
zhou
bdd70e9c43
refactor: 重构项目代码结构,拆分职责模块
...
1. 抽离图组合逻辑到pyflowx.compose,原graph.py仅保留单图DAG逻辑
2. 抽离命令执行逻辑到pyflowx.command,移除task.py内的_run_command
3. 重构上下文签名缓存,优化性能
4. 移除废弃的utils.perf_timer相关代码
5. 为JSONBackend添加batch批量落盘优化
6. 调整导入路径与公开API,更新测试用例
7. 简化条件判断逻辑,移除冗余代码
2026-06-28 02:28:38 +08:00
zhou
c15b38516a
bump version to 0.2.11
Release / build (push) Failing after 29m15s
Release / publish-pypi (push) Has been skipped
Release / release (push) Has been skipped
v0.2.11
2026-06-27 23:08:32 +08:00
zhou
7d4e8a40ce
refactor(cli): 重构CLI模块结构,整理系统工具与开发工具
...
1. 将原cli根目录下的clearscreen、taskkill、which工具迁移到cli/system子目录
2. 新增cli/dev子目录并添加envdev环境配置工具
3. 更新pyproject.toml中的脚本入口点映射
4. 调整tests/cli下的测试文件导入路径
5. 整理tasks/system.py的__all__导出顺序
2026-06-27 22:01:02 +08:00
zhou
1b2d6d6a2c
chore: 更新依赖配置并移除 pysnooper
2026-06-27 21:53:20 +08:00
zhou
df890f0f16
chore: 移除独立的envpy和envrs命令,合并功能到envdev
...
将原来envpy和envrs的环境配置功能整合到envdev命令中,删除了冗余的独立CLI模块和测试文件,统一管理Python、Conda和Rust的环境配置。
2026-06-27 21:22:36 +08:00
zhou
b62a544569
chore: 调整Python版本与依赖适配,新增性能报告测试与工具函数
...
1. 将Python版本从3.13降级到3.11
2. 为typing-extensions添加版本适配标记
3. 简化dev依赖组,移除pysnooper
4. 重构perf_timer,提取_generate_report独立函数
5. 新增性能报告生成与测试用例
2026-06-27 20:47:29 +08:00
zhou
d58fc5536e
chore: 发布 pyflowx 0.2.10,新增性能计时器与多项重构
...
1. 新增 perf_timer 工具与配套测试用例
2. 重构任务条件跳过逻辑,优化失败条件展示
3. 重构 Graph 子图生成逻辑,提取公共依赖修剪函数
4. 重构条件模块,统一条件名称与失败原因获取逻辑
5. 重构存储后端,提取 TTL 共享逻辑并优化实现
6. 重构执行器模块,使用 Mixin 复用代码,拆分任务与层执行逻辑
7. 删除冗余的 which 命令测试文件
8. 更新依赖锁文件
2026-06-27 20:15:35 +08:00
zhou
c3b86b603d
bump version to 0.2.10
Release / build (push) Failing after 11m58s
Release / publish-pypi (push) Has been skipped
Release / release (push) Has been skipped
v0.2.10
2026-06-27 19:41:24 +08:00
zhou
327bd6e069
feat: 优化条件不满足时的报错信息展示
...
1. 新增格式化reason的工具函数统一处理报错信息
2. 支持从条件函数中提取自定义的失败原因
3. 完善NOT和OR条件的失败原因传递逻辑
4. 移除任务跳过的冗余打印输出
2026-06-27 19:40:51 +08:00
zhou
22f8d2110d
chore: add pysnooper dev dependency and update configs
...
1. add pysnooper>=1.2.3 to dev dependencies in pyproject.toml and uv.lock
2. update type hints in task.py from Iterator to Generator
3. add more PyPI mirrors and update envdev.py comments and checks
4. fix trailing whitespace in executors.py
2026-06-27 19:35:11 +08:00
zhou
2a1f2f7175
refactor(envdev, conditions): 重构环境配置脚本,新增平台和文件条件检查
...
1. 移除废弃的envqt命令入口
2. 新增IS_WINDOWS、IS_LINUX等平台检测条件
3. 新增FILE_CONTENT_EXISTS文件内容检查条件
4. 使用内置条件替代硬编码的平台判断
5. 为任务添加条件控制,仅在符合场景时执行
2026-06-27 18:29:40 +08:00
zhou
9d033e1c0b
refactor(system): add setenv_group and write_file task helpers
...
1. 为setenv和which函数添加正确的返回类型注解
2. 新增setenv_group批量设置环境变量的任务组
3. 新增write_file写入文件的任务工具函数
4. 更新__all__导出所有新增的工具函数
feat(cli/envdev): rewrite envdev cli with proper config and args
1. 重构环境开发CLI脚本,使用argparse替换原有TypedDict配置
2. 新增Python和Conda镜像源选择参数
3. 自动生成并写入Python pip和Conda配置文件
4. 优化任务依赖和命名,统一使用系统工具函数
2026-06-27 17:12:53 +08:00
zhou
336f7b7292
-envqt
2026-06-27 16:45:02 +08:00
zhou
65dcbcbf62
bump version to 0.2.9
Release / build (push) Failing after 16m3s
Release / publish-pypi (push) Has been skipped
Release / release (push) Has been skipped
v0.2.9
2026-06-27 16:42:10 +08:00
zhou
7fa97a01e3
test(executors): add future annotations import to edge case test file
...
为测试文件添加from __future__ import annotations以支持更规范的类型注解写法
2026-06-27 16:33:24 +08:00
zhou
83da5135d0
test: add tests for graph all_deps and defaults inheritance
...
- add test_all_deps_combines_hard_and_soft to verify all_deps returns correct hard+soft deps in order
- add multiple tests for GraphDefaults field inheritance, including normal inheritance and non-override of custom values
2026-06-27 16:32:34 +08:00
zhou
7463a60649
test: 修复代码检查警告并优化测试用例
...
1. 为测试代码添加pyrefly忽略注释解决类型检查警告
2. 优化lambda参数命名为通配符符合PEP8规范
3. 增加断言检查任务函数非空并修正参数传递
4. 统一环境变量测试的命名和清理逻辑
2026-06-27 16:26:56 +08:00
zhou
87dd010342
test: add multiple new test cases and update python version
...
1. update .python-version from 3.11 to 3.13
2. add tests for IS_RUNNING and DIR_EXISTS conditions
3. add graph-related tests including string ref parsing, mermaid output, GraphComposer and compose function
4. add storage backend TTL tests for both MemoryBackend and JSONBackend
5. add new system task tests for clr, reset_icon_cache, setenv and which
6. add comprehensive task spec tests including soft dependencies, retry policy, context managers and task template
7. add executor edge case tests for various scenarios
2026-06-27 16:17:05 +08:00
zhou
bdfee7bee4
ci: 简化CI/CD配置,移除冗余测试步骤和覆盖率上报
...
重构了GitHub Actions工作流,合并重复的CI任务,移除了预发布测试环节、多余的格式检查和安全审计任务,精简了 tox 测试命令与矩阵配置,同时删除了本地 tox 配置中的覆盖率和测试结果上报参数,优化整体流水线效率。
2026-06-27 16:00:44 +08:00
zhou
b954fb1622
build(coverage): 调整coverage配置,新增cli目录到忽略白名单并提高达标阈值至95%
...
修改了pyproject.toml中的coverage配置:将src/pyflowx/cli/*加入omit排除列表,同时将测试覆盖率达标阈值从80提升至95
2026-06-27 15:57:00 +08:00
zhou
a7b7a82dff
ci: 完善CI/CD流程,添加测试覆盖率与并行测试配置
...
1. 为tox测试命令添加并行执行、覆盖率报告和JUnit结果输出
2. 拆分CI工作流为lint、格式检查、类型检查、安全审计、多矩阵测试和覆盖率汇总
3. 新增release前的预测试步骤,让build依赖测试通过
4. 移除低效的依赖策略测速测试用例
5. 配置多Python版本跨平台测试矩阵并上传测试 artifacts
2026-06-27 15:53:08 +08:00
zhou
40f0478146
bump version to 0.2.8
Release / build (push) Failing after 31s
Release / publish-pypi (push) Has been skipped
Release / release (push) Has been skipped
v0.2.8
2026-06-27 15:44:09 +08:00
zhou
b808b880f8
ci(github workflow): simplify release workflow
...
移除了冗余的预检查步骤、简化了工作流配置,更新了action版本并优化了版本提取和产物处理逻辑
2026-06-27 15:43:55 +08:00
zhou
e073ff41ee
ci: simplify and merge CI jobs
...
1. 合并lint和typecheck任务为一个job,减少重复的环境配置步骤
2. 精简测试矩阵,只保留Python3.8和3.13两个版本
3. 移除不必要的覆盖率上传和聚合检查job
4. 简化工作流触发条件,只保留push和手动触发
2026-06-27 15:43:24 +08:00
zhou
ea0c51de5e
build: 调整llm依赖条件并更新pyflowx版本
...
1. 为llm依赖添加linux平台限制
2. 移除uv.lock中的前置发布版本配置项
3. 将pyflowx版本从0.2.6升级到0.2.7
2026-06-27 15:33:33 +08:00
zhou
2b3f4b82d3
bump version to 0.2.7
Release / Pre-release Check (push) Failing after 35s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
v0.2.7
2026-06-27 15:23:48 +08:00
zhou
1e23c48efc
chore: 调整Python版本并修复类型注解语法
...
1. 将.python-version中的Python版本从3.13改为3.11
2. 移除过时的from __future__ import annotations导入
3. 把字符串形式的泛型类型注解替换为原生语法格式
2026-06-27 14:35:51 +08:00
zhou
5c8ec281ff
refactor: 重构重试策略、条件函数与上下文注入逻辑
...
主要变更:
1. 替换旧retries参数为RetryPolicy配置
2. 重构条件函数,支持上下文参数与动态依赖判断
3. 更新上下文注入逻辑,支持软依赖与更清晰的注入描述
4. 新增sglang CLI命令与相关配置
5. 格式化代码统一列表与参数写法
6. 更新文档与测试用例适配新API
2026-06-27 14:33:54 +08:00
zhou
6f01cde8ac
feat(cli): add ModelScopeHub model download command line tool
...
add new msdown CLI command powered by modelscope SDK via uvx, support downloading models/datasets/spaces from ModelScopeHub to local directory
2026-06-27 11:20:50 +08:00
zhou
bcd189ae60
refactor(graph,runner): 重构引用解析逻辑,拆分GraphComposer
...
1. 抽离CliRunner中的引用解析逻辑为GraphComposer类,分离图数据与组合职责
2. 取消Graph的frozen修饰,简化内部属性修改逻辑
3. 重构任务执行与跳过逻辑,合并重复代码并优化条件求值时机
4. 调整TaskSpec为普通dataclass,移除不必要的replace重建
5. 修复测试用例中skip_if_missing的断言值
6. 重构命令执行逻辑,抽离为模块级函数避免闭包捕获参数
2026-06-27 10:13:52 +08:00
zhou
20c4fb87c5
feat: 添加上游任务跳过豁免、进程检查条件及相关优化
...
1. 新增allow_upstream_skip参数支持任务不跟随上游跳过
2. 新增IS_RUNNING内置条件检查进程运行状态
3. 调整skip_if_missing默认值为False
4. 补充跳过任务的事件上报和verbose打印
5. 优化reset_icon_cache示例任务使用新特性
6. 更新测试用例匹配默认参数变更
2026-06-27 09:24:22 +08:00
zhou
a98eb6e344
feat(conditions): add DIR_EXISTS builtin condition, update system tasks
...
- add Path type import and DIR_EXISTS condition method
- update reset_icon_cache tasks to add directory existence checks
- simplify explorer restart command and add installation check
2026-06-27 09:04:58 +08:00
zhou
752ff618b2
refactor(system tasks): 格式化代码并新增重启资源管理器任务
...
将原有的单行TaskSpec调用拆分为多行格式化写法,同时补充restart_explorer任务到任务列表中
2026-06-27 09:00:22 +08:00
zhou
f15f235ecf
chore: 发布v0.2.6版本,新增重置图标缓存工具
...
1. 新增reseticon命令行工具用于重置Windows图标缓存
2. 重构平台常量导出逻辑,移除顶层直接导出的IS_*变量
3. 为系统任务相关的TaskSpec添加verbose输出
4. 优化测试用例的列表格式和平台条件写法
5. 更新依赖锁定文件和项目配置
2026-06-27 08:45:48 +08:00
zhou
9d79cddbd6
refactor(system cli): 统一命名风格并新增图标缓存重置工具
...
1. 将系统任务的大写命名改为蛇形命名:CLR→clr, SETENV→setenv, WHICH→which
2. 更新对应cli工具的导入和调用代码
3. 新增restart_icon_cache命令行工具和reset_icon_cache系统任务
2026-06-27 08:29:30 +08:00
zhou
af9aab395a
bump version to 0.2.6
Release / Pre-release Check (push) Failing after 31s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
v0.2.6
2026-06-27 00:58:05 +08:00
zhou
6f334fde73
refactor(cli/hfdownload): 重构下载工具,改用SETENV和modelscope命令
...
1. 移除本地setenvs函数,改用封装好的SETENV任务
2. 替换hf下载命令为modelscope下载命令
3. 优化参数命名和默认下载目录逻辑
4. 简化任务编排代码
2026-06-27 00:39:17 +08:00
zhou
2ccd84ac3b
chore(tasks): remove unused task module doc and export code
...
d
2026-06-27 00:14:07 +08:00
zhou
ec30af3edb
refactor(system tasks): 重构系统任务模块并完善功能
...
1. 为CLR、SETENV、WHICH三个函数添加完整的类型注解和文档字符串
2. 重构SETENV支持两种环境变量设置模式
3. 优化WHICH的跨平台适配和输出格式
4. 新增模块级文档说明并导出所有任务函数
2026-06-26 23:34:53 +08:00
zhou
10bbc07118
refactor(cli): 重构清屏和which命令实现
...
1. 提取清屏、设置环境变量、命令查找逻辑到system任务模块
2. 统一命令行工具的任务实现方式,减少重复代码
3. 修正pyproject.toml中的cli命令名拼写错误
4. 移除过时的测试用例代码
2026-06-26 23:27:45 +08:00
zhou
194cf3c343
chore(pyflowx): 升级pyflowx版本到0.2.5
...
仅更新了依赖锁定文件中的pyflowx版本号
2026-06-26 22:49:03 +08:00
zhou
1880cd7a34
bump version to 0.2.5
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
Release / Pre-release Check (push) Failing after 31s
v0.2.5
2026-06-26 21:59:45 +08:00
zhou
d43c9e4044
bump version to 0.2.4
2026-06-26 21:57:53 +08:00