zhou
fd282db28f
refactor: 整理代码格式与项目结构,修复命令检查bug
...
1. 重构多处列表展开写法,统一代码格式风格
2. 修复executors.py中命令不存在时的类型判断bug
3. 删除废弃的envlinux.py并替换为envdev.py,更新CLI入口配置
4. 为storage.py的后端方法添加override装饰器
5. 移除空的cli/__init__.py冗余导入
6. 更新pyproject.toml依赖与配置项
7. 精简测试用例代码
2026-06-26 21:45:06 +08:00
zhou
6f64d9d6dc
bump version to 0.2.3
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
2026-06-26 07:43:56 +08:00
zhou
1eb7942aa9
bump version to 0.2.2
Release / Pre-release Check (push) Failing after 30s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
2026-06-26 01:50:49 +08:00
zhou
9285ae3782
test(packtool): 优化打包工具测试用例,统一使用临时工作目录
...
1. 新增自动切换临时工作目录的全局fixture,避免测试污染项目根目录
2. 移除测试中手动mock缓存目录的代码,复用全局fixture配置
3. 简化测试代码结构,提升测试可读性和维护性
2026-06-26 01:47:24 +08:00
zhou
a88797f410
chore(pyflowx): bump pyflowx version to 0.2.0 and add bumpversion cli tests
...
- update pyflowx package version from 0.1.13 to 0.2.0
- add auto tmp path fixture for tests
- add test cases for bumpversion cli minor version bump and no valid files scenario
2026-06-26 01:42:03 +08:00
zhou
b047b05aaf
bump version to 0.2.1
2026-06-26 01:40:11 +08:00
zhou
936a009212
feat(bumpversion): 重构版本号更新工具,支持多文件类型并新增minor版本命令
...
1. 重构bumpversion模块,支持自动识别pyproject.toml和__init__.py文件的版本号格式
2. 提取版本计算、替换字符串构建逻辑,提升代码可维护性
3. 在pymake.py中新增bumpmi命令用于执行次版本号更新
4. 全面升级测试用例,适配新的版本匹配逻辑,修正测试文件类型
5. 保留原始引号和格式,不破坏文件原有排版
2026-06-25 23:44:39 +08:00
zhou
f10f8d09a6
~bumpversion
2026-06-25 23:36:05 +08:00
zhou
0afdb54e5c
~
Release / Pre-release Check (push) Failing after 1m31s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
2026-06-25 12:49:26 +08:00
zhou
9e99a1f1ba
~
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
2026-06-25 12:35:27 +08:00
zhou
50575c6e91
style: 格式化代码并补充开发工具依赖
...
Release / Pre-release Check (push) Failing after 42s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
1. 统一格式化多个文件的字典/列表缩进样式
2. 为pymake的bump命令新增typecheck、ruff_lint、ruff_format检查步骤
3. 扩充test_packtool.py的嵌入式Python安装测试用例
2026-06-25 12:26:25 +08:00
zhou
f8436f6b8c
refactor(emlmanager): 重构EML解析逻辑,提取公共方法并优化字符编码处理
...
1. 拆分邮件解析为多部分/单部分处理函数,抽离正文提取、日期解析逻辑
2. 完善字符编码检测与 fallback 处理,使用replace模式避免解码失败崩溃
3. 统一使用配置的最大正文长度限制,添加详细日志记录
4. 修复原代码中解码异常未妥善处理的问题
5. 优化测试用例,使用tmp_path替代固定临时目录提升测试稳定性
2026-06-25 12:21:23 +08:00
zhou
477d901281
~
Release / Pre-release Check (push) Failing after 42s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
2026-06-22 12:46:50 +08:00
zhou
0df795237d
~tests
2026-06-22 12:31:26 +08:00
zhou
413ab40044
refactor(tests): 重构测试代码并优化ruff检查规则
...
1. 在pyproject.toml中为测试文件添加ARG001和ARG002规则忽略
2. 重构多个CLI测试文件,移除冗余的mock断言、导入顺序调整
3. 统一测试用例的帮助信息输出逻辑,移除SystemExit捕获,简化测试流程
4. 拆分合并冗余的测试类,按功能细化测试用例
5. 移除测试代码中多余的注释和pytest导入
2026-06-22 12:18:10 +08:00
zhou
d4a1a5c2de
test: 重构CLI测试用例,统一使用px.CliRunner和px.run测试主函数
...
1. 替换所有旧的main函数测试逻辑,统一使用pyflowx的CliRunner和run方法进行测试
2. 重构测试类命名,将零散测试合并为TaskSpec验证测试
3. 优化测试用例结构,移除冗余的pytest依赖导入和旧版测试代码
4. 更新文件夹备份、压缩等模块的测试逻辑,适配新的工具函数实现
2026-06-22 12:03:30 +08:00
zhou
843e9369fe
refactor: 统一格式化代码中的多行列表与函数调用
...
对多处代码进行了统一的多行列表和函数调用进行格式化调整,包括将单行代码拆分为多行以提升可读性。
2026-06-22 11:45:10 +08:00
zhou
48f6d8a7f0
+cli tests
2026-06-22 11:43:00 +08:00
zhou
983d47bd2e
refactor(executors): 重构任务跳过逻辑,提取公共函数并格式化代码
...
1. 提取上游任务跳过检查和条件检查为公共工具函数
2. 重构同步和异步执行器的跳过判断逻辑,减少代码重复
3. 格式化gittool.py和测试文件的列表语法,提升可读性
2026-06-21 21:55:18 +08:00
zhou
9cc91d1153
feat: 新增任务跳过原因记录,完善上游任务跳过传播逻辑
...
1. 为TaskResult和TaskEvent新增reason字段记录跳过原因
2. 为同步/异步任务执行器添加上游任务跳过检测,自动跳过下游任务
3. 完善任务跳过的原因判断,支持条件不满足、缓存命中、上游跳过场景
4. 优化gittool工具,新增排除目录配置和更灵活的git操作流程
5. 重构测试用例格式,新增上游任务跳过的测试覆盖
6. 默认启用verbose输出,优化跳过任务的日志提示
2026-06-21 21:45:33 +08:00
zhou
4cc21be562
chore: bump version to 0.1.6
Release / Pre-release Check (push) Failing after 41s
Release / Build Artifacts (push) Has been skipped
Release / Publish to PyPI (push) Has been skipped
Release / Publish Release (push) Has been skipped
2026-06-21 20:54:38 +08:00
zhou
98cf3b54a1
chore: 发布v0.1.5版本并完成代码清理优化
...
1. 移除pyproject.toml中冗余的ruff格式化配置
2. 删除CliRunner内置的类型校验逻辑并移除对应测试用例
3. 修复条件判断模块的匿名函数命名兼容非函数对象场景
4. 优化task.py中的类型转换和命令执行逻辑
5. 更新pymake.py的格式化任务配置并调整测试任务依赖
6. 从依赖和锁文件中移除ruff包,统一pre-commit配置格式
2026-06-21 20:12:24 +08:00
zhou
c8e9354e87
fix(runner): 修复命令行策略默认值与构造参数不一致的问题
2026-06-21 19:07:47 +08:00
zhou
ea591d1088
feat: 新增skip_if_missing特性,支持命令不存在时自动跳过任务
...
本次提交实现了命令任务的自动跳过功能:
1. 为TaskSpec新增skip_if_missing参数,默认开启,仅对list[str]类型cmd生效
2. 通过shutil.which检查命令是否存在,不存在则标记任务为SKIPPED而非失败
3. 重构should_execute方法,整合条件检查与命令可用性检查
4. 更新文档与示例代码,添加该参数的使用说明
5. 移除cli/pymake.py中的冗余check辅助函数,改用内置特性
6. 为所有内置任务添加skip_if_missing=True配置
7. 修复线程并行测试的超时阈值,放宽到1.0秒
8. 优化代码格式与压缩单行表达式
9. 新增完整的单元测试覆盖该特性的各种场景
2026-06-21 18:55:24 +08:00
zhou
7de55614a6
chore: 提高测试覆盖率.
2026-06-21 15:31:53 +08:00
zhou
5ddfe8510c
refactor(conditions): 重命名HAS_APP_INSTALLED为HAS_INSTALLED
2026-06-21 14:59:59 +08:00
zhou
cd38e1246a
chore: 版本升级到0.1.3并批量优化代码
...
变更包括:
1. 更新pyproject.toml行长度限制为120
2. 简化多处异常提示字符串的换行写法
3. 批量使用Any类型泛型优化类型标注
4. 重构cli/pymake.py的配置与任务定义
5. 删除冗余的测试代码与废弃的pymake测试文件
6. 修复示例代码的类型注解
2026-06-21 14:58:19 +08:00
zhou
febcd90a31
refactor(graph,runner,test): 重构代码并清理冗余逻辑
...
1. 将Graph类改为frozen dataclass简化实现
2. 移除executors.py中的内置策略校验逻辑
3. 使用typing.get_args替代直接访问Strategy.__args__
4. 清理测试文件中冗余的无效参数测试用例
5. 统一替换测试中未使用的px.run调用返回值
6. 在pyproject.toml中添加pytest slow标记配置
2026-06-21 14:11:57 +08:00
zhou
179e5b3811
refactor: 重构执行器和CliRunner,简化策略类型实现
...
1. 将Strategy枚举改为Literal类型,移除normalize_strategy函数
2. 内联策略验证逻辑到run函数中
3. 使用dataclasses.field重构CliRunner的初始化方式
4. 修复测试用例中的函数名和调用方式不匹配问题
5. 调整部分测试用例的构造语法,适配新的API
6. 修正pymake模块中的函数重命名和条件变量命名问题
7. 为部分耗时测试添加@pytest.mark.slow标记
2026-06-21 12:52:32 +08:00
zhou
4884fd53e5
refactor(pymake): 暴露build_graphs函数并调整测试
...
同时降低覆盖率阈值至95%
2026-06-21 11:07:44 +08:00
zhou
60083bcb6e
chore: 批量优化代码与配置,完善类型注解
2026-06-21 10:04:01 +08:00
zhou
22ae4b0084
refactor(executors): 移除私有函数前缀并修正导入
2026-06-21 08:18:46 +08:00
zhou
08eb743ea9
refactor: 全面迁移至 Python 3.9+ 原生泛型类型语法
...
- 将所有 `Optional[T]` 替换为 `T | None`
- 将所有 `List[T]`/`Dict[K, V]`/`Tuple[Ts, ...]` 替换为对应原生泛型
- 调整类型导入,移除冗余的 typing 导入项
- 更新项目依赖,添加 typing-extensions 兼容旧版本 Python
- 重构部分函数签名与内部实现以匹配新类型语法
2026-06-20 17:52:42 +08:00
zhou
6cc693d15f
refactor(cli): 移动CliRunner到顶层runner模块并清理冗余代码
2026-06-20 17:35:24 +08:00
zhou
13f6110b18
refactor(executors): 重构执行器策略为枚举类型并增强CLI功能
...
- 将 Strategy 从字符串字面量改为枚举类型,提供 SEQUENTIAL、THREAD 和 ASYNC 选项
- 添加策略归一化函数 _normalize_strategy,支持字符串和枚举类型的输入
- 重构 run 函数接受新的 Strategy 枚举类型,默认值改为 Strategy.SEQUENTIAL
- 添加 verbose 模式支持,在任务执行时打印生命周期信息
- 实现命令行运行器 CliRunner,提供命令行界面和参数解析功能
- 为 TaskSpec 添加 verbose 字段,控制子进程命令的详细输出
- 重构 pymake CLI 实现,使用新的命令行运行器架构
- 更新测试用例中的 depends_on 参数语法
2026-06-20 17:20:05 +08:00
zhou
6d4b5e4a1f
~clirunner
2026-06-20 17:13:18 +08:00
zhou
4de55336f1
+cli runner
2026-06-20 16:52:48 +08:00
zhou
fad964b370
feat: 添加命令行任务支持与条件执行功能
...
1. 新增条件判断模块,支持平台、环境变量、应用安装等条件检查
2. 扩展TaskSpec支持cmd参数,可直接执行shell命令或包装Python函数
3. 添加任务条件执行、工作目录设置功能
4. 重构任务执行逻辑,使用effective_fn统一处理函数与命令
5. 新增完整的命令行构建工具pymake
6. 新增配套测试用例覆盖命令执行与条件逻辑
7. 更新项目版本至0.1.2,调整入口脚本为pymake
2026-06-20 16:29:25 +08:00
zhou
24c5a64c72
test(test_report): 修复类型注解并简化类型声明
...
1. 为error参数添加Optional类型注解
2. 显式指定TaskSpec和TaskResult的泛型参数,移除冗余的类型忽略注释
2026-06-20 13:49:32 +08:00
zhou
0b995d66c3
refactor: 重构代码风格与配置,完善文档与CI
...
1. 移除冗余导入与简化代码写法
2. 更新coverage配置与pre-commit钩子
3. 重构CI流程,拆分lint/typecheck/test任务
4. 汉化项目文档与注释
5. 修正graphlib导入的类型忽略注释
2026-06-20 13:39:03 +08:00
zhou
a352529263
chore: 完成项目汉化与测试覆盖增强
...
- 将项目文档、注释全量翻译为简体中文
- 新增 coverage 配置并要求 100% 分支覆盖率
- 补充所有模块的单元测试用例,覆盖全分支场景
- 重构执行器代码,提取公共重试与失败逻辑
2026-06-20 13:09:35 +08:00
zhou
8b7777d936
feat: 初始化PyFlowX轻量级DAG任务调度库
...
实现完整的DAG任务调度核心功能,包括:
1. 支持同步/异步/线程三种执行策略
2. 自动上下文注入,无需手动绑定任务依赖
3. 内置状态后端,支持断点续跑
4. 提供完整的测试用例与示例代码
5. 添加CI/CD配置与发布流程
2026-06-20 10:41:33 +08:00