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, so you write your app the way you would anywhere else and Cloudflare translates the requests automatically.
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, JavaScript or TypeScript were your only fully supported options. 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 says it introduced a new packaging standard to make more packages convert automatically, and common database drivers like asyncpg now work through a compatibility layer Cloudflare built. But coverage isn’t universal. If your project depends on a package that hasn’t been made compatible, it can fail to build, not fail quietly in production. That’s the failure mode to know about before you commit to this for a real project.
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 stack is already JavaScript or TypeScript and working fine, or if your project depends heavily on data-science packages like NumPy or pandas that need compiled extensions Cloudflare hasn’t converted yet.
What builders should do next
Before you commit a real project to this, check Cloudflare’s Python package compatibility list for every third-party package your app needs. If something isn’t listed, assume it needs work rather than assuming it will just run.
If you want to try it, Cloudflare’s own quickstart has you add compatibility_flags = ["python_workers"] to your project’s wrangler.toml configuration file, then set up the basic project files by running uv run pywrangler init in your terminal. That 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 the project on your own computer before you deploy anything, since that’s how you catch a missing or incompatible package while it only costs you a few minutes, not a failed production push.
Cloudflare didn’t publish pricing specifics for Python Workers in this announcement, so don’t assume it’s free or bundled with a plan you already have. Check your Workers usage and billing settings in the Cloudflare dashboard before you rely on this for anything beyond a test project.
End of article