SuperAPI AI 工具集

cloudflare-python-workers

编程与开发

查看项目

更新于 10-15 23:31

技能介绍

用途:在 Cloudflare Workers 上使用 Pyodide 运行 Python 3.12+(编译为 WebAssembly),构建异步 API 与多步骤自动化。当前为 Beta,需在 wrangler 配置中启用 python_workers 兼容标志。

主要能力:采用 WorkerEntrypoint 类模式(如 class Default(WorkerEntrypoint) 中定义 async fetch),通过 self.env 访问 D1、KV、R2、Workers AI、Vectorize、Durable Objects、Queues、Analytics Engine 等绑定;支持 @handler 定时(Cron)任务;支持 Python Workflows,用 @step.do() 装饰器定义步骤,并可借助 asyncio.gather 并发执行,通过 depends 声明 DAG 依赖。

使用方式:项目依赖管理使用 pyproject.toml;安装 uv tool install workers-py,初始化 uv run pywrangler init,本地运行 uv run pywrangler dev(http://localhost:8787),部署 uv run pywrangler deploy。HTTP 客户端仅支持异步库(httpx、aiohttp)。

适用场景:需要纯 Python 包或 Pyodide 预构建包的无服务器 API、定时任务、多步骤持久化工作流;FastAPI 可配合使用但仅限异步、无 WSGI 中间件且处于 Beta。

限制:仅支持纯 Python 与 Pyodide 包,不支持原生编译扩展;同步 HTTP 库不可用;工作流中所有 I/O 必须置于 @step.do 内,返回值需可 JSON 序列化;Wasm 快照下冷启动仍高于 JavaScript(FastAPI/Pydantic 约1秒,JavaScript 约50ms);模块级调用 PRNG 会部署失败。部分平台价格与完整官方文档暂未提供。