文档 / 快速开始

快速开始

仓库使用 Node.js 原生 ESM 与 node:test;不需要引入前端框架。

下载源码

源码包只有一个文件(node-for-python-0.1.0.zip,5.65 MB),三个下载节点内容完全相同;download.node-for-python.top 会自动测速并选中延迟最低的那个。

节点地址

令牌(必须)

下载需要令牌,令牌由 api.node-for-python.top 用浏览器指纹签发,有效期 10 分钟。访问 download. 时页面会自动换取令牌;脚本化下载需自己请求:

# 1) 换取令牌(fp 是你自己构造的指纹串,≥ 8 字符)
curl -s -X POST https://api.node-for-python.top/get/token \
     -H 'content-type: application/json' \
     -d '{"fp":"my-ci-runner-$$"}' | jq -r .token

# 2) 用令牌访问任一节点
curl -L -o source.zip \
  "https://v1.download.node-for-python.top/source/node-for-python-0.1.0.zip?token=<token>"

# 3) 校验
sha256sum source.zip   # e3e2d4b803cc61fbd39caf4a0dc0dfd2570b94de113f0e9cba5972bad01934b7

令牌缺失、签名不对或过期都会返回 401,响应体里带 hint 说明如何重新获取。

文件清单

源码包不含 unicode/ 原始 UCD 文本(5 MB),但包含压缩后的 libstd/unicodedata/data/ucd.json;需要重建数据时用 node libstd/unicodedata/build-data.mjs 并自备 UCD 17.0.0 文件。

安装 / 运行

使用 Node.js 22 或更新版本,在仓库根目录执行命令。

运行测试

在仓库根目录运行:

node --test --test-isolation=none "libstd/**/test/*.test.mjs"
node --test py/tokenizer/test/index.test.mjs py/parser/test/index.test.mjs py/interp/test/*.test.mjs

第一条是 package.json 中的默认 npm test 目标。解释器层测试可按需要单独执行。

打开游乐场

项目提供单文件游乐场 playground.html。它通过 Web Worker 执行 Python 代码,支持停止长时间运行的程序;详见仓库根目录的 docs.node-for-python.top。本站的在线入口需要部署该文件所在的静态站点。

查模块进度

模块清单显示 298 个标准库条目以及实现状态。搜索、状态分组和模块摘要都以内嵌快照提供,静态托管和本地文件均可浏览。

目标 Node 版本为 22 或更高。标准库实现约定与依赖策略见仓库 docs/CONVENTIONS.md 和 libstd/flag.md。