<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh" -->

---
title: Cloudflare Python Workers are GA, but the startup tax is...
description: Cloudflare Python Workers reached general availability, giving Python first-class status alongside TypeScript on the platform, with native ASGI/WSGI support...
canonical: https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Cloudflare Python Workers are GA, but the startup tax is real | daily.dev
og:description: Cloudflare Python Workers reached general availability, giving Python first-class status alongside TypeScript on the platform, with native ASGI/WSGI support...
og:url: https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh
og:image: https://api.daily.dev/og/posts/h5uC0VknH.png
og:image:alt: Cloudflare Python Workers are GA, but the startup tax is real
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Cloudflare Python Workers are GA, but the startup tax is real

**[Trends](https://daily.dev/sources/trends)** · 2 min read · 3 upvotes · 1 comments

## Summary

Cloudflare Python Workers reached general availability, giving Python first-class status alongside TypeScript on the platform, with native ASGI/WSGI support for FastAPI, Django, and Flask, plus access to D1, R2, Durable Objects, and Hyperdrive database drivers. Under the hood, CPython runs inside V8 isolates via Pyodide compiled with Emscripten, and Cloudflare pushed PEP 783 through the Python steering council to standardize cross-compiled wheels for PyPI. Despite the capability wins, early testing (including by Kent C. Dodds) found startup times noticeably slower even when warm, with no new capabilities unlocked for his use case, leading him to skip Python support for now. The launch is best suited for teams with existing Python codebases needing edge deployment or AI/ML workflows where library support outweighs cold-start speed; performance-sensitive new projects are better served by TypeScript Workers.

## Content

Two years after preview, Cloudflare has shipped Python Workers as generally available. FastAPI, Django, and Flask now run natively via ASGI/WSGI connectors. D1, R2, Workers AI, Durable Objects all work without JavaScript glue. AI libraries like openai and langchain route through fetch. Cloudflare even got PEP 783 accepted to standardize PyEmscripten wheels on PyPI. On paper, it's a solid release.

In practice, the community is less impressed.

Kent C. Dodds ran Python Workers for his Kody project and passed: "much slower to start up (even when warm) and doesn't unlock new capabilities." That's a real-world verdict from someone who actually tried it, not a benchmark argument.

The benchmark argument is happening anyway. Wasmer's founder showed up on Hacker News pointing to an earlier Cloudflare post citing ~1.027 second cold starts versus ~60ms on Wasmer Edge. Cloudflare engineers replied that memory snapshots and sharding have improved things. They didn't share updated numbers. A hands-on guide floating around claims p50 drops from ~3.2s to ~650ms after optimization tricks like module-level initialization, lazy loading, and cron warm-ups. That's a lot of work to get to a number that's still not great.

The sharper criticism came from a urllib3 maintainer. Cloudflare funded contributors to build the Emscripten backend, but the maintainers now stuck supporting it got nothing. The Emscripten backend is explicitly excluded from urllib3's security policy, and CVE-2025-50182 is already a symptom of that gap. Cloudflare's response: two of the three announcement authors are Pyodide maintainers themselves. Which is true, but doesn't really address who's responsible when something breaks in production.

There's also the version coupling problem. Python and Pyodide are bundled into workerd's release cycle, so you're not picking your Python version — Cloudflare is. The 128MB memory limit and no C-extension packages (goodbye pydantic-core, orjson, requests) round out the constraint list.

The tech is genuinely interesting. CPython compiled to WebAssembly running in V8 isolates across 300+ cities is not a trivial engineering achievement. But "interesting" and "production-ready" are different bars, and right now the cold start story and the maintenance accountability gap are doing real damage to the pitch.

## Questions this post answers

### Are Cloudflare Python Workers ready for production use now that they're generally available?

Yes, Cloudflare Python Workers reached general availability, supporting FastAPI, Django, and Flask natively via ASGI/WSGI connectors, with access to D1, R2, Durable Objects, and Hyperdrive for PostgreSQL/MySQL. AI libraries like openai, langchain, and mcp also work since their HTTP clients were patched to route through the JS fetch API. However, startup latency remains slower than TypeScript Workers, even when warm.

_Weighing Python versus TypeScript for edge workers? Track real-world performance reports on daily.dev as they surface._

### Why are Cloudflare Python Workers slower to start up than TypeScript Workers?

CPython runs inside V8 isolates via Pyodide compiled with Emscripten, the same stack used for Python in the browser, adding multiple execution layers compared to native TypeScript. Kent C. Dodds tested Python Workers in Kody and found them much slower to start up even when warm, with no new capabilities unlocked, and chose to skip Python support for now.

_Developers comparing cold-start tradeoffs across runtimes can follow these benchmarks on daily.dev._

### What is PEP 783 and why does it matter for Python on Cloudflare Workers?

PEP 783 is a Python steering council proposal, pushed through by Cloudflare, that standardizes PyEmscripten so cross-compiled WebAssembly wheels can be published directly to PyPI. This is described as a slow-burn ecosystem win separate from the GA launch itself, making WebAssembly-compiled Python packages easier to distribute as the ecosystem grows.

_Anyone tracking Python's WebAssembly packaging story can follow ecosystem changes like this on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@pdfopsdev** · 0 upvotes

> the startup tax isn't really a cloudflare bug, it's inherent to running cpython through pyodide in wasm. you're paying wasm instantiation plus interpreter warmup every cold start, something TS workers skip since v8 isolates are native there.

## Similar posts on daily.dev

- [Python Workers redux: fast cold starts, packages, and a uv-first workflow](https://daily.dev/posts/python-workers-redux-fast-cold-starts-packages-and-a-uv-first-workflow-3o1ezoau3) · Cloudflare · 31 upvotes · 0 comments
- [Python Workers Redux: Wasm Snapshots and Native uv Tooling](https://daily.dev/posts/python-workers-redux-wasm-snapshots-and-native-uv-tooling-pmu15dc6n) · InfoQ · 0 upvotes · 0 comments
- [How Cloudflare Eliminates Cold Starts for Serverless Workers](https://daily.dev/posts/how-cloudflare-eliminates-cold-starts-for-serverless-workers-cy0axotzo) · ByteByteGo · 2 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#serverless](https://daily.dev/tags/serverless), [#webassembly](https://daily.dev/tags/webassembly), [#cloudflare](https://daily.dev/tags/cloudflare)

[View this post on daily.dev](https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Cloudflare Python Workers are GA, but the startup tax is real","url":"https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh"},"datePublished":"2026-09-22T14:09:17.577Z","dateModified":"2026-09-29T06:45:26.481Z","description":"Cloudflare Python Workers reached general availability, giving Python first-class status alongside TypeScript on the platform, with native ASGI/WSGI support...","isAccessibleForFree":true,"articleSection":"Trends","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Trends","logo":"https://media.daily.dev/image/upload/s--ZfSp3asX--/f_auto,q_auto/v1780996004/logos/trends?_a=BAMAMiWQ0","url":"https://daily.dev/sources/trends"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"python,serverless,webassembly,cloudflare","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Trends","item":"https://daily.dev/sources/trends"},{"@type":"ListItem","position":3,"name":"Cloudflare Python Workers are GA, but the startup tax is real"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh","comment":[{"@type":"Comment","text":"the startup tax isn’t really a cloudflare bug, it’s inherent to running cpython through pyodide in wasm. you’re paying wasm instantiation plus interpreter warmup every cold start, something TS workers skip since v8 isolates are native there.","datePublished":"2026-09-22T18:09:27.299Z","url":"https://daily.dev/posts/h5uC0VknH#c-JzC2iMXOd","author":{"@type":"Person","name":"PDFops","url":"https://daily.dev/pdfopsdev","image":"https://media.daily.dev/image/upload/s---8isRBKc--/f_auto/v1782922291/avatars/avatar_orjMeK8QKaaVZwGq7ScPz?_a=BAMAMicg0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/cloudflare-python-workers-are-ga-but-the-startup-tax-is-real-h5uc0vknh#faq","mainEntity":[{"@type":"Question","name":"Are Cloudflare Python Workers ready for production use now that they're generally available?","acceptedAnswer":{"@type":"Answer","text":"Yes, Cloudflare Python Workers reached general availability, supporting FastAPI, Django, and Flask natively via ASGI/WSGI connectors, with access to D1, R2, Durable Objects, and Hyperdrive for PostgreSQL/MySQL. AI libraries like openai, langchain, and mcp also work since their HTTP clients were patched to route through the JS fetch API. However, startup latency remains slower than TypeScript Workers, even when warm. Weighing Python versus TypeScript for edge workers? Track real-world performance reports on daily.dev as they surface."}},{"@type":"Question","name":"Why are Cloudflare Python Workers slower to start up than TypeScript Workers?","acceptedAnswer":{"@type":"Answer","text":"CPython runs inside V8 isolates via Pyodide compiled with Emscripten, the same stack used for Python in the browser, adding multiple execution layers compared to native TypeScript. Kent C. Dodds tested Python Workers in Kody and found them much slower to start up even when warm, with no new capabilities unlocked, and chose to skip Python support for now. Developers comparing cold-start tradeoffs across runtimes can follow these benchmarks on daily.dev."}},{"@type":"Question","name":"What is PEP 783 and why does it matter for Python on Cloudflare Workers?","acceptedAnswer":{"@type":"Answer","text":"PEP 783 is a Python steering council proposal, pushed through by Cloudflare, that standardizes PyEmscripten so cross-compiled WebAssembly wheels can be published directly to PyPI. This is described as a slow-burn ecosystem win separate from the GA launch itself, making WebAssembly-compiled Python packages easier to distribute as the ecosystem grows. Anyone tracking Python's WebAssembly packaging story can follow ecosystem changes like this on daily.dev."}}]}
```

