Cloudflare WorkersがPythonを正式サポート、FastAPIやDjangoもそのまま動く

Python Workers are now generally available

Cloudflare WorkersがPythonを正式サポート、FastAPIやDjangoもそのまま動く

CloudflareがPython Workersの一般提供を開始した。PythonがWorkersランタイムの第一級言語となり、FastAPI、Django、Flaskなどのフレームワークをサーバー設定なしで実行できる。Workers AI、R2、D1、Hyperdriveなどとの連携もPythonicに記述可能。WebAssemblyサンドボックス内でTCPソケットを実装し、PostgreSQLやMySQLのドライバも動作する。AIエージェント構築の選択肢が広がる。

Python is now a first-class, fully supported language on the Cloudflare Developer Platform.
  1. illia-v

    > これらのHTTPクライアントがWebAssembly環境でJavaScriptの`fetch` APIを通じて直接リクエストをルーティングできるようにするため、私たちはアップストリームに貢献しました

    urllib3のメンテナからの補足です:

    urllib3は数年前にPyodide/Emscriptenサポートを追加する大規模な貢献を受け取りマージし、その後JSPIサポートも加えました。これがRequestsでこれを実現可能にしたものです。

    私の知る限り、この作業の資金はそれを実装した外部コントリビューターに渡り、urllib3のメンテナには渡っていません。私たちは変更をレビューしてマージし、プロジェクトは結果として生じたバックエンドを維持する責任を負うことになりました。

    これは重要なことです。なぜなら、Emscriptenバックエンドはurllib3ではまだ実験的と見なされており、私たちのセキュリティポリシーでは明示的に対象外とされているからです。

    CVE-2025-50182は、私たちが遭遇した問題の一例です。urllib3のリダイレクト制御は、リクエストが`fetch`を通じてルーティングされると期待通りの動作をしませんでした。ブラウザ/`fetch`のネットワーキングセマンティクスはurllib3の通常のバックエンドとはかなり異なるため、このような違いは他にも多数存在する可能性があります。

    この作業がアップストリームに貢献され、PyodideやCloudflareに役立っていることは嬉しいです。しかし、アップストリームプロジェクトへの貢献に資金を提供することと、その後サポートしなければならないアップストリームのメンテナに資金を提供することの間には、意味のある違いがあると思います。

  2. syrusakbary

    Cloudflareチームの素晴らしい仕事です!

    2年前に彼らが最初にPython Workersを立ち上げたとき、とても興奮しました。Wasmerで競合製品を持っているとはいえ、Cloudflareの仕事はいつも刺激的でインスピレーションを与えてくれると思います。

    最初のローンチスレッドで投稿したフィードバックを振り返ってみました[1]。それ以来、彼らが意味のある進歩を遂げているのを見るのは素晴らしいことです。特にパッケージサポートの面で:PyEmscriptenはPEP 783を通じて標準化されました。

    とはいえ、当時私が提起した主要なアーキテクチャ上の懸念のいくつかは依然として存在します:

    * Python/Pyodideの1つのバージョン(Workerdが埋め込んでいるもの)のみを使用することに縛られている

    * アーキテクチャ上JS/v8の世界に縛られており、コールドスタート時間を短縮しようとすると課題が生じる可能性がある(私の意見では、現在のアーキテクチャで100ms未満の起動時間を達成するのはかなり難しいでしょう)。

    今年初めに公開したベンチマーク[2]では、最小限のPythonアプリケーションはWasmer Edgeでは約60msで起動しましたが、Cloudflare Workersでは約900msでした(2024年の私の懸念を裏付けるものです)。これらの数値は今や数ヶ月前のものであり、Cloudflareがそれ以来大幅に改善していることを願っています。

    GAの発表には更新されたコールドスタートの数値が含まれていないようです。Cloudflareチームの誰かが、Python Workersの現在のp50/p95コールドスタート時間を共有していただけませんか?できればネイティブユーザーパッケージありとなしの両方で(例えば、FastAPIありと依存関係なしのもの)。

    [1] https://news.ycombinator.com/item?id=3990712 […]

  3. dsign

    これはもちろんCloudflareの技術ですが、タイトルの最初の解釈が「私たちはすべてのPythonコーダーをAIに置き換え、彼ら(コーダー)は退場し、一般提供されました」だったのは確かです :-)

  4. manquer

    2008年にPython 2.5サポートで開始されたGAE [1]に、私たちは一周して戻ってきたのでしょうか...

    [1] https://googleappengine.blogspot.com/2008/04/introducing-goo...

  5. stefan_lec

    コールドスタートのパフォーマンスはどうですか?WorkersにWebAssemblyを使うことの欠点の一つは起動時間が長くなることだと記憶していますが、彼らはそれを回避する方法を見つけたのかもしれません。

この日のほかの記事

2026-09-21