{"repo":"Liam0205/pineapple","free":true,"listed":false,"github":"https://github.com/Liam0205/pineapple","clone":"git clone https://github.com/Liam0205/pineapple.git","description":"Multi-runtime DAG pipeline engine — declare in Python, execute in Go / Java / Python, decouple with JSON.","language":"Go","stars":13,"topics":["dag","data-pipeline","dsl","hot-reload","lua","operator-framework","parallel-computing","pipeline-engine","python","java"],"license":"Apache-2.0","category":"data-pipelines","readme_excerpt":"English 简体中文 Pineapple 高性能 DAG 流水线引擎。 Python 声明，Go/Java/C++ 三引擎执行，JSON 解耦。 算子只需声明输入/输出字段，引擎自动推导依赖、构建 DAG、并行调度——你专注业务逻辑，Pineapple 负责把它跑快。 适用于任何需要 多步骤数据处理流水线 的场景：搜索/推荐/广告排序、特征工程、实时数据加工、规则引擎、ML 推理前后处理，等等。 ⚠️ Pre-1.0 阶段 ：API 和行为语义可能在版本间发生不兼容变更。生产环境使用请锁定具体版本。 架构 组件 语言 职责 ------ ------ ------ Apple Python 声明式 DSL，编译输出 JSON 配置 Pine-Go Go 主执行引擎：解析配置、构建 DAG、并行调度 Pine-Java Java 第二执行引擎，与 Pine-Go 行为一致 Pine-C++ C++23 第三执行引擎（标杆运行时），完全 parity + 性能上限探索 工程团队 用 Go/Java/C++ 开发高性能算子； 业务团队 用 Python DSL 编排逻辑。两侧通过 JSON 配置彻底解耦。 曾经存在的 Pine-Python 运行时引擎已于 v0.9.7 后移除。仓库中的 Python 代码仅为 Apple DSL 声明层（编译器），不是运行时。 核心特性 - 隐式构图 — 算子声明输入/输出字段，引擎自动推导 DAG 依赖并执行传递性归约 - 无锁并行 — DAG 中无依赖的算子自动并行执行 - 编译期校验 — 死代码、字段缺失、写后未读等问题在部署前拦截 - Lua 嵌入 — 内置 Lua 算子支持轻量自定义计算。pine-go 默认 wangshu（纯 Go Lua 5.1 VM，NaN-boxing + arena GC），可通过 -tags=lua gopher 切回 gopher-lua；pine-java 用 LuaJC（字节码编译），pine-cpp 用 LuaJIT。端到端开销约 1.2-2x；隔离算子级开销随运行时与计算复杂度变化（C++/LuaJIT 约 3-5x、Java 约 2-9x、Go 约 6-17x），计算密集型热路径建议写原生算子 - 配置热加载 — 服务运行时自动无停机重载引擎配置（引用计数快照保证 in-flight 请求安全； Watch 开关可关闭） - 可嵌入 / 可扩展 server — server.NewServer + Execute / Acquire 嵌入 API 支持把引擎挂进既有 HTTP 框架（如 Gin）； Config.Routes 自定义路由（Ingress/Egress 适配器）与内置端点共存，自定义路径自动加入有界指标标签集。多 pipeline 多 endpoint（各自独立 log prefix ）的三运行时示例见 pine-go/examples/multi-pipeline/ 、 pine-java/examples/MultiPipelineServer.java 、 pine-cpp/examples/multi pipeline server.cpp - 动态资源 — 双通道资源管理： 数据型 （如静态 dict / 实时 feature store，snapshot 导出后无锁读）+ 句柄型 （如 redis connection ，borrow 借用 + RAII 拆除）；后台定时刷新 - Redis cascade-safety — redi","default_branch":null,"files":null,"tree":[],"storefront":"/r/Liam0205","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Liam0205/pineapple/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}