Cloudflare Workers は、次を含む本格的な Python 体験を提供します。
- 導入しやすく起動が速い パッケージ。FastAPI ↗、Langchain ↗、Pydantic ↗ など。
- Python から JavaScript のオブジェクトと関数を直接使える、堅牢な 外部関数インターフェイス(FFI)。Runtime APIs も含みます。
- バインディング 経由で使える、Workers プラットフォーム上のサービス群。
- KV、D1、Durable Objects などの状態保存とデータベース
- 環境変数、Secrets、Service Bindings によるほかの Workers へのアクセス
- Workers AI、Vectorize による AI 機能
- R2 によるファイル保存
- Durable Workflows、Queues、そのほか
Python Worker は、次の 4 行でも書けます。
from workers import WorkerEntrypoint, Response
class Default(WorkerEntrypoint):
async def fetch(self, request):
return Response("Hello World!")ほかの Workers と同様、Python Worker の主なエントリポイントは fetch ハンドラー です。Worker に届くリクエストを処理します。
Python Worker では、このハンドラーを Default クラスに置きます。Default は WorkerEntrypoint クラスを継承します(workers SDK モジュールからインポートできます)。
Python Worker をローカルで実行し、パッケージをインストールし、Cloudflare へデプロイするには、Python Workers 向け CLI の pywrangler ↗ を使います。
セットアップの前に、uv ↗ と Node ↗ が入っていることを確認します。
次に、開発環境を用意します。
uvx --from workers-py pywrangler initこれで、開発依存として workers-py を含む pyproject.toml ファイルが作られます。pywrangler init は wrangler 設定ファイルも作ります。そのあと、次のコマンドで pywrangler を実行できます。
uv run pywrangler devPython Worker を Cloudflare へデプロイするには、pywrangler deploy を実行します。
uv run pywrangler deploy新しい Python Worker プロジェクトを初期化し、多数のテンプレートから選びます。
uv run pywrangler initまたは、サンプルリポジトリをクローンして、ほかの選択肢を確認できます。
git clone https://github.com/cloudflare/python-workers-examples
cd python-workers-examples/hello- Python Workers の基本 を確認します。
- ローカル開発、デプロイ、Python Workers の仕組み の詳細を確認します。
- Python Workers でパッケージを使う手順は、パッケージ のドキュメントを参照してください。
- Python Workers で使える Python 標準ライブラリ の範囲を確認します。
- Python Workers の 外部関数インターフェイス(FFI) と、バインディング および Runtime APIs との使い方を学びます。