Cloudflare Python SDK v5.0.0、Python 3.8 対応終了は知ってた?
やっほー、しぃちゃんだよ!今日は Cloudflare の Changelog をのぞいてたら、開発者向けにけっこう大きめのニュースを見つけちゃった。Python で Cloudflare の API を触ってる人は要チェックの内容だから、さっそく紹介するね。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog によると、公式の Cloudflare Python SDK がメジャーバージョンアップして「v5.0.0」になったよ。ベータではなく正式リリースなのがポイント。原文では「メジャーリリースで、Python 3.8 のサポートを打ち切り、新しい API サービスを 11 個追加、非同期クライアント向けに aiohttp バックエンドをオプションで導入、API 全体にわたる数百件の型・メソッド更新を含む」と説明されてるよ。
盛りだくさんの内容だから、要点を順番に見ていくね。
今までどうだったの?
これまでの Python SDK(v4 系)は Python 3.8 以降に対応していて、非同期クライアントは標準の HTTP バックエンドだけで動いていたの。typing-extensions の必要バージョンも >=4.10 と、今よりゆるめの条件だったんだよね。
API サービスの面でも、AI Search や Connectivity テストのような比較的新しい Cloudflare の機能は、まだ SDK に組み込まれていなかった。使うには別の手段を探す必要があったみたい。
これで何が変わるの?
公式の発表をもとに、変更点を整理してみたよ。
対応 Python バージョンが見直されたの。
- Python 3.8 のサポートが終了。最低ラインは Python 3.9 に引き上げ
- Python 3.13 と 3.14 が新たにテスト・サポート対象に追加
依存パッケージのバージョンも上がったよ。
- typing-extensions の最小バージョンが
>=4.10から>=4.14に引き上げ
非同期通信の面では、aiohttp バックエンドが選べるようになったのが大きいポイント。非同期クライアントに、並行処理のパフォーマンス向上を狙ったオプションの aiohttp HTTP バックエンドが加わったよ。使い方はこんな感じ。
pip install cloudflare[aiohttp]
でインストールして、http_client パラメータに DefaultAioHttpClient() を渡すだけ。大量のリクエストを非同期でさばきたい場面で効いてきそうだね。
そして今回いちばんのボリュームは、新しく仲間入りした 11 個の API サービス。SDK から直接叩けるトップレベルのサービスが、一気に 11 個も増えたの。
- AI Search — AI を使った検索機能
- Connectivity — 接続テスト・診断
- Email Sending — メール送信(send / send_raw エンドポイント)
- Fraud — 不正検知・防止
- Google Tag Gateway — Google タグの管理
- Organizations — 組織の監査ログ・管理
- R2 Data Catalog — R2 Data Catalog の操作
- Realtime Kit — リアルタイム通信(Calls / TURN)
- Resource Tagging — リソースへのタグ付け・ラベリング
- Token Validation — トークン検証の設定・ルール
- Vulnerability Scanner — 脆弱性スキャン、認証情報セット、対象環境の管理
これまで別の手段で補うしかなかった領域が、SDK の中でひとつにまとまった形になったよ。
深く潜ってみよう
今回は breaking changes もまとまった量あるから、アップグレード前に見ておきたいポイントをまとめておくね。
原文によると、以下の 15 リソースに破壊的変更が入ってるよ。
- abusereports
- acm.totaltls
- apigateway.configurations
- cloudforceone.threatevents
- d1.database
- intel.indicatorfeeds
- logpush.edge
- origintlsclientauth.hostnames
- queues.consumers
- radar.bgp
- rulesets.rules
- schemavalidation.schemas
- snippets
- zerotrust.dlp
- zerotrust.networks
具体的な移行手順は Migration Guide にまとまってるみたいだから、上のどれかを使ってる人はそちらを確認するのが確実だよ。
破壊的変更だけじゃなく、既存サービスへのエンドポイント追加もかなりあるの。たとえば次のような具合。
- api_gateway: Labels 関連のエンドポイント
- billing: PayGo の使用量エンドポイント
- brand_protection: v2 エンドポイント
- browser_rendering: DevTools 系メソッド
- cache: Origin cloud regions リソース
- dns: dns_records/usage エンドポイント
- iam: ユーザーグループ・グループメンバーのリソース
- zero_trust: Access Users、DEX ルール、WARP Connector まわりなど多数
- zones: ゾーン環境のエンドポイント
このほかにも Pipelines や DLP、Radar などで細かな型のバグ修正も入っていて、「hundreds of type and method updates」という説明の通りの規模感だね。
まとめ
- Cloudflare Python SDK がメジャーバージョン v5.0.0 に(ベータではなく正式リリース)
- Python 3.8 サポート終了、最低バージョンは 3.9 に。Python 3.13 / 3.14 は新たにテスト・サポート対象
- typing-extensions の最小要件が
>=4.10から>=4.14に pip install cloudflare[aiohttp]で選べる aiohttp バックエンドが登場、非同期処理の並行性能アップ- AI Search・Connectivity・Realtime Kit など 11 個の新しい API サービスが SDK に統合
- 15 リソースに破壊的変更あり、既存サービスにも多数のエンドポイント追加
Python で Cloudflare の API を触ってる開発者、特に Workers・DNS・Zero Trust あたりを SDK 経由で自動化してる人は、アップグレード前に上の変更点をチェックしておくと安心だよ。