What happened
Cloudflare has spent two years testing Python Workers, a way to write the backend of an app in Python instead of only JavaScript, and have it run on Cloudflare’s edge network (a system of data centers spread around the world, so your code runs close to whoever is using it instead of one distant server). Cloudflare announced Python Workers are now generally available (GA), meaning Python is a fully supported language on the platform, not a preview feature.
In practice, that means you can now build and deploy apps using Python web frameworks like FastAPI, Django, and Flask directly on Workers. Cloudflare handles the plumbing that normally makes a Python framework talk to a server, through its ASGI and WSGI connectors. Your app still needs to fit the Workers runtime and resource limits.
Python code on Workers can also reach the rest of Cloudflare’s platform: Workers AI (built-in AI model hosting), R2 (file storage), D1 (a built-in database), Hyperdrive (a fast path to an external Postgres or MySQL database), Durable Objects (a way to keep small pieces of app state alive between requests), Queues (a way to hand off work to run in the background), and Workflows (a way to chain multiple steps together reliably). Popular AI code libraries like OpenAI’s own Python library and LangChain now work too, which matters if your app calls out to an AI model as part of what it does.
Why it matters
If you came to programming through AI or data work rather than traditional web development, Python is often the language you already know best. Until now, if you wanted to run code on Cloudflare’s edge network, Python Workers were a preview rather than a generally available service. This removes that requirement. You, or your coding agent, can write and ship the backend in a language you may already know better.
There’s a real catch, though. Python Workers run on Pyodide, a version of Python that’s been compiled into WebAssembly (Wasm), a compact format that lets code from other languages run safely inside a browser-like sandbox instead of a full server. Pure Python code handles this fine. But some Python packages rely on compiled C, C++, or Rust code under the hood, and that compiled code has to be separately converted to WebAssembly before it will run. Not every package on PyPI (Python’s public package index) has been converted yet.
Cloudflare contributed to the PyEmscripten packaging standard and build tooling so package maintainers can publish WebAssembly-compatible wheels, and common database drivers like asyncpg now work through a compatibility layer Cloudflare built. But coverage isn’t universal. An incompatible dependency can prevent installation or deployment. A successful build also doesn’t prove that every runtime operation is supported, so test the paths your app actually uses.
Who should care
This is worth a look if you’re building something with a coding agent or an AI app builder and want the backend to run on Cloudflare instead of a traditional server, especially if your app leans on Python-first AI tooling like LangChain. It also matters if you or your agent are more comfortable reading and editing Python than JavaScript.
It matters less if your JavaScript or TypeScript stack already meets your needs. Projects with compiled dependencies need version-specific checks, but compiled extensions are not automatically excluded: Cloudflare supports Pyodide packages, whose current package list includes NumPy and pandas.
What builders should do next
Before you commit a real project to this, check Cloudflare’s Python package support documentation for every third-party package your app needs. Check whether each dependency is pure Python, has a compatible PyEmscripten wheel, or is included in the supported Pyodide distribution. Then verify the required imports, network calls, and framework routes in your actual app.
To try it, add compatibility_flags = ["python_workers"] to your project’s wrangler.toml file, as Cloudflare’s quickstart explains. Create the starter project by running uv run pywrangler init in your terminal. This command uses uv (a Python package installer) and pywrangler (Cloudflare’s command-line tool built for Python Workers). Run uv run pywrangler dev to test it on your computer before deploying, which can surface missing or incompatible packages without a failed production push.
Check your Workers pricing and billing settings before deploying beyond a test project.
Updated October 13, 2026: compiled packages can run through compatible wheels or Pyodide builds, including NumPy and pandas. Package installation checks do not establish runtime compatibility, and maintainers must build compatible wheels using the new tooling.
End of article