32ca8c1208
CI / Lint, Typecheck & Test (push) Successful in 1m57s
1. 新建 docs/ Sphinx 文档结构 (conf.py + 8 个 rst 章节), napoleon 支持 Google/NumPy docstring, rtd 主题, 自动生成 API 参考与错误家族文档 2. 新建 .readthedocs.yaml 配置, pyproject.toml 加 docs 依赖 3. 删除 runner.py 的 _apply_verbose_to_graph 死代码及对应测试 (功能已移入 executors.run 统一处理) 4. 更新 README: CLI 示例改为 pf 统一入口, 模块结构表补全 cli/pf.py/cli/configs/cli/_ops 等模块 5. 修复版本不一致 (pyproject.toml 0.3.5 → 0.4.5) 6. 加文档徽章链接到 ReadTheDocs
57 lines
1.7 KiB
ReStructuredText
57 lines
1.7 KiB
ReStructuredText
PyFlowX 文档
|
|
============
|
|
|
|
PyFlowX 是一个轻量、类型安全的 DAG 任务调度器:**参数名就是依赖声明**。
|
|
无需装饰器、无需样板包装器,写一个普通函数,框架按参数名自动注入上游结果。
|
|
|
|
特性
|
|
----
|
|
|
|
- **零样板** —— 参数名即依赖,框架自动注入上游结果
|
|
- **四种执行策略** —— sequential(串行)、thread(线程池)、async(事件循环)、dependency(依赖驱动,最大化并行)
|
|
- **类型安全** —— ``TaskSpec[T]`` 把返回类型一路传到 ``RunReport``
|
|
- **DAG 校验** —— 构建时即时校验重名、缺失依赖、环
|
|
- **自动分层** —— Kahn 算法分组,同层任务可并行
|
|
- **重试与超时** —— 每个任务独立配置 ``RetryPolicy`` 与 ``timeout``
|
|
- **并发限制** —— ``concurrency_key`` + ``concurrency_limits`` 按组限流
|
|
- **断点续跑** —— ``MemoryBackend`` / ``JSONBackend``,成功结果可缓存复用
|
|
- **命令任务** —— ``cmd`` 参数直接执行外部命令
|
|
- **条件执行** —— ``conditions`` 按平台、环境变量等条件跳过任务
|
|
- **YAML 任务编排** —— GitHub Actions 风格声明式任务图
|
|
- **pf 统一 CLI** —— ``pf <tool> [command]`` 调用所有工具
|
|
- **最小依赖** —— 仅依赖标准库 + PyYAML
|
|
|
|
文档导航
|
|
--------
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: 入门
|
|
|
|
installation
|
|
quickstart
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: 用户指南
|
|
|
|
guide/task
|
|
guide/graph
|
|
guide/execution
|
|
guide/yaml
|
|
guide/cli
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
:caption: 参考
|
|
|
|
api
|
|
changelog
|
|
|
|
索引
|
|
----
|
|
|
|
* :ref:`genindex`
|
|
* :ref:`modindex`
|
|
* :ref:`search`
|