75 Commits

Author SHA1 Message Date
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 56c018e72e refactor: 移除多余的override装饰器并整理依赖
1.  移除graph.py和storage.py中多余的typing-extensions override装饰器
2.  精简pyproject.toml的依赖项,移除不必要的typing-extensions
3.  添加mypy作为开发依赖
4.  修复示例代码的类型注解和废弃的赋值使用
2026-06-21 08:28:23 +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 c06d0284c4 +basedpyright 2026-06-20 17:36:40 +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 e00868e3b1 ~ 2026-06-20 16:54:47 +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 3bbdf142ba chore: bump version to 0.1.2
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.1.2
2026-06-20 14:04:58 +08:00
zhou 3b793b41f3 build: 添加Python3.13支持并更新 tox 配置
1. 新增Python3.13版本的分类支持
2. 启用isolated_build模式,切换依赖安装为.[dev]
3. 简化pytest执行参数,新增传递更多环境变量
2026-06-20 14:04:23 +08:00
zhou 9f9f48743b build(coverage): 调整覆盖率配置,放宽达标阈值并忽略示例和测试文件
修改了coverage配置,将fail_under从100调低到95,同时添加了对示例文件和测试文件的忽略规则
2026-06-20 13:55:27 +08:00
zhou f0ccd65da2 +tox env 2026-06-20 13:50:25 +08:00
zhou 24c5a64c72 test(test_report): 修复类型注解并简化类型声明
1. 为error参数添加Optional类型注解
2. 显式指定TaskSpec和TaskResult的泛型参数,移除冗余的类型忽略注释
2026-06-20 13:49:32 +08:00
zhou 2c20585694 chore: release v0.1.1 and add example demos
1. 新增3个官方示例代码:ETL流水线、并行执行、异步聚合
2. 添加__main__.py入口和示例包导出
3. 补充项目依赖声明和控制台脚本配置
4. 更新uv.lock和包版本号至0.1.1
2026-06-20 13:46:06 +08:00
zhou f76c1ac83a chore: bump version to 0.1.1
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
v0.1.1
2026-06-20 13:40:21 +08:00
zhou 7ad2a9ba23 chore(pyproject.toml): 配置pytest默认异步io循环作用域为function
为pytest工具添加异步io默认循环作用域的配置项,统一异步测试的循环生命周期
2026-06-20 13:40:15 +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
zhou 70f3c03986 init commit 2026-06-20 09:33:53 +08:00