两种语言都是入口
通过同一个可执行文件和同一份项目配置,运行 TypeScript 应用 或 Python 工具。
poly run app.ts · poly run tool.py
// 目标 API
import { add } from "./math.py"
with { type: "python" };
console.log(add(20, 22)); // 42
def add(left, right):
return left + right
一个项目,两个生态
Poly 正在 Bun 与 RustPython 之上构建统一的模块图、依赖工作流和 发布路径,而不是把任何一种语言变成独立服务。
通过同一个可执行文件和同一份项目配置,运行 TypeScript 应用 或 Python 工具。
poly run app.ts · poly run tool.py
目标模块系统让跨语言 import 显式、可分析,并成为项目的原生 组成部分。
import { add } from "./math.py" with { type: "python" }
npm 包留在 Bun 生态中,Python 包继续由 uv 锁定,再由 Poly 检查 RustPython 实际能够运行的内容。
poly sync
路线图将两种语言的模块图、依赖和项目资源组合成一个平台原生 可执行文件。
poly build app.ts
一个可执行文件,一个进程
M0 原型把 RustPython 直接嵌入固定版本的 Bun 源码树。这个精简的 同步 bridge 先验证架构,再逐步构建更高层的模块系统。
项目状态
Poly 仍是工程原型。目前已经具备源码集成和核心 bridge;模块系统、 依赖工作流和独立应用构建器仍在开发中。
体验当前原型
当前构建遵循 Bun 的原生工具链要求,在全新环境中可能需要较长 时间。请从仓库文档开始了解完整前置条件和已验证边界。
$ git clone https://github.com/liooil/poly
$ cd poly
$ pwsh ./scripts/bootstrap-bun.ps1 -Configuration Release