Cloudflare现在支持在Python中编写Workers!这是一个重大的技术突破,因为它不仅仅是将Python代码编译成WebAssembly,而是将Python直接集成到了workerd运行时中。这意味着开发者可以在没有额外构建步骤或外部工具链的情况下,直接使用Python进行Workers开发。
快速入门:开发者可以利用Pyodide在workerd中直接编写Python Workers,享受与JavaScript Workers相同的便捷性。Pyodide是CPython的WebAssembly移植版本,它能够解释执行Python代码,并提供了与JavaScript的互操作性。
动态链接:动态链接是Python Workers的关键特性之一,它允许在同一台机器上运行的所有Workers共享代码印象,从而提高效率和性能。
HTTP客户端库:尽管Python的HTTP客户端库在Pyodide中并不是开箱即用的,但Cloudflare通过对库进行补丁,使其能够使用JavaScript的Fetch API,从而实现了对这些库的支持。
FastAPI支持:FastAPI是一个流行的Python服务器库,它使用ASGI协议。Cloudflare提供了一个适用于Worker的ASGI服务器,使得FastAPI能够在Cloudflare Workers上运行。
包管理:Python Workers支持Pyodide提供的一系列Python包,包括numpy、httpx、FastAPI等。1开发者只需在requirements.txt文件中添加所需的包即可。
性能优化:为了减少冷启动时间,Cloudflare在部署时会对Worker的WebAssembly线性内存进行快照,从而避免了运行时的昂贵初始化时间。
未来展望:Cloudflare计划通过使用内存快照和预热隔离环境进一步降低Python Workers的冷启动时间,并承诺为Python提供与JavaScript相同的长期支持和稳定性。