PyCon US 2024参加レポート

#03PyCon US 2024 Day 3とスプリント ―CPythonのさまざまな進化⁠JIT⁠バイトコード最適化⁠フリースレッディング

PyCon US 2024レポートの3回目は、カンファレンス3日目とスプリントの様子をお伝えします。カンファレンス3日目はCPythonのコア実装についてのトークを中心に聴きました。またクロージングでは驚きの表彰がありました。スプリントでは1日開発を行って、筆者のPyCon USが終了しました。

カンファレンス3日目

Day 3ライトニングトーク

カンファレンス3日目のライトニングトークは朝にのみ行われます。ここで、毎年恒例のPyCon、Pythonイベント紹介のライトニングトークがあります。これは世界各国のPyConやPython関連イベントを、1イベント1枚のスライドで、リレー形式で紹介をするというものです。PyCon JP 2024の紹介は共同座長である吉田さんが行いました。写真を見ると吉田さんの右の方に、各イベントの主催者が列になって順番に並んでいるのがわかります。

写真 吉田さんのLTの様子
吉田さんのLTの様子

スライドだけ用意して主催者が来ていないイベントもあります。その場合は司会のCheukさん(写真左の女性)がスライドの内容をもとにして代わりに発表していました。アドリブ力が問われます。

ポスターセッションとジョブフェア

PyCon USのカンファレンス3日目は、10時から13時までの3時間はポスターセッションとジョブフェアのみとなります。

ポスターセッションはA0などの大きいサイズのポスターを掲示し、その内容について発表者と参加者がディスカッションをするといったイベントです。今年は30件弱のポスター発表があったようです。写真はfunix.ioという、Pythonの関数やクラスをWebアプリケーションにするライブラリについてのポスターです。

写真 ポスター発表の1枚
ポスターセッション

ジョブフェアは求職のためのイベントです。いくつかの企業がブースを出しており、就職を希望している人が企業の担当者と直接話をするというものです。以下の写真ではSentryPlotly Technologies Incが企業ブースを出しており、たくさんの人が話を聞いていました。

写真 ジョブフェア
ジョブフェア

アメリカで仕事を探している人は、ジョブフェアに来ると企業の担当者と直接話ができるのでおすすめです。

Building a JIT compiler for CPython

スピーカーのBrandt Bucher氏は2021年からMicrosoftのFaster CPythonチーム(Pythonを高速化するチーム)に所属しています。このチームの成果などにより、Python 3.11は25%高速化しました。Brandt氏は2023年から実験的なJITコンパイラの実装をはじめたそうです(Brandt氏はPyCon JP 2021のキーノートスピーカーでもあります⁠⁠。

写真 Brandt Bucher氏
Brandt Bucher氏

まずJIT導入の背景として以下が述べられました(筆者はCPythonの内部には詳しくないので間違っていたらすいません⁠⁠。

  • CPython 3.11:適応型インタープリターがプログラムを分析し最適化する
  • CPython 3.12:インタープリターの生成機能はDSLの仕様から解析と変更が可能になる
  • CPython 3.13:micro-opインタープリターが「ホット」なコードを検出して最適化して実行する

以下のようなフィボナッチ関数のコードを例に、バイトコードとスタックの状態を使って説明が進められました。

def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a	

for 文の箇所は通常は FOR_ITER というバイトコードになりますが、この場合は特殊なバイトコードの FOR_ITER_RANGE に置き換えられるそうです。同様に a + b の箇所は BINARY_OPBINARY_OP_ADD_INT となるそうです。そしてバイトコードから生成された "micro-op" を最適化するという動作をするそうです。しかし、この機能をONにするとオーバーヘッドが増加するため、20%遅くなるそうです。

そこで、JIT(ジャスト・イン・タイム)コンパイラが重要となります。Pythonがさまざまなプラットフォームでの依存性を低くして、JITコンパイラを実現することは非常に難しいことです。そこで、2021年に発表された「コピー&パッチ」という手法のJITコンパイラで実装を進めるそうです。この手法は30ページの論文で、以下のURLで参照できます。また、論文と同じ著者によるブログ投稿も参考になるとのことです。このブログではLua言語にコピー&パッチの手法でJITをゼロから実装しています。

コピー&パッチの手法ではWebAssemblyのLiftoffコンパイラより、5倍速くコードを生成し、50%コードが速いそうです。また、LLVMと比較すると100倍コード生成が速く、15%コードが速いそうです。

そしてCPython版のコピー&パッチの実装を進めており、現在はビルド時には1000行の複雑なPythonコード、100行の複雑なCのコードとLLVMを使用しています。また、実行時には400行のシンプルなCのコードと、生成されたシンプルな9000行のCのコードのみで、システム依存はないとのことです。そして、X86、X86-64とARM64のWindows、macOS、Linuxをサポートしています。

パフォーマンスとしては冒頭に述べたmicro-opインタープリターでは20%遅かったのですが、JITでは現状はCPythonと同じパフォーマンスで、10%ほどメモリが余分に必要となるそうです。

詳細については以下のPEP(Pythonの拡張提案)にも記載されているので、そちらも参照してください。

試してみたい方は、CPython 3.13のコードで以下のように実行すると、JITが有効となったPythonがビルドされます。

> Pbuild/build.bat --experimental-jit
$ ./configure --enable-experimental-jit

めちゃめちゃ難しい内容のトークでした。CPythonの高速化としてJITがどうなっていくのか、今後に注目していきたいと思います。

How two undergrads from the other side of the planet are speeding up your future code

スピーカーのKen Jin氏とJules Poon氏はタイトルにもあるとおり大学の学部生です。シンガポールの大学の中でCPythonのバイトコードの最適化にチャレンジしているという内容です。また、Ken Jin氏は2021年からCPythonのコアデベロッパーでもあるそうです。世界にはすごい人がいるなと感じました。

写真 Jules Poon氏(左)とKen Jin氏
Jules Poon氏(左)とKen Jin氏

まずは過去の経緯から説明がありました。2022年以前からKen氏はFaster CPythonチーム(CPythonの高速化チーム)の外部協力者として活動していました。2023年1月から8月にかけて、2人は実験的なPyLBBV(CPython with lazy basic block versioning)の実装を進め、2023年12月まで第2弾の実装を進めました。そして、このPyLBBVの最終バージョンのCPython 3.13への組み込みをKen氏が実施しました。この日のトークではこの最終バージョンについて語るそうです。

背景としてCPythonはPythonをC言語で実装したものです。そしてCPythonはバイトコードのスタックマシーンであり、Python言語をコンパイラでバイトコードに変換し、そのバイトコードをスタックに積んで処理しているというものです。例として (a + b) * c というコードではどのようにバイトコードが生成され、スタックでどのように処理が行われるかの説明がありました。

 2 LOAD_GLOBAL  0 (a)
14 LOAD_GLOBAL  2 (b)
26 BINARY_OP    0 (+)
30 LOAD_GLOBAL  4 (c)
42 BINARY_OP    5 (*)

上記のバイトコードではabcの変数の型がわからず、BINARY_OP は動的に型を調査するため、処理が遅くなります。そこでCPython 3.11のSpecialized Interpreterによって、LOAD_GLOBAL_MODULEBINARY_OP_ADD_INT などの特殊なバイトコードによって処理を高速化しています。

CPython 3.11でのバイトコードの最適化は1つから2つのバイトコードに対して行われます。CPython 3.13以降では実行時によく遭遇する型を学習し、より広い範囲で最適化を実施します。これは新しいアイデアではないが、メンテナンスしやすい形で実装することが難しいとのことです。

CPython 3.13以降ではバイトコードからTraceを生成し、そのTraceがTier 2 Optimizerで最適化が行われるそうです。このTrace OptimizationsではKen Jin氏によって以下の最適化が実装中とのことです。協力者にはMark Shannon氏、Guido van Rossum氏、Peter Lazorochak氏がいます。それぞれ簡単に紹介します。

  • Guard Elimination ⁠3.13で一部実装済み)
  • True Function Inlining ⁠作業中)
  • Deferred Object Creation ⁠作業中)
  • Register allocation/top of stack caching ⁠作業中)

Guard Eliminationは、a += b + b + bというコードを実行するときに、bがintである場合に(b + b) + bを実行する前に両方の値がintかをチェックするGuardを削除するというものです。

True Function Inliningは、関数呼び出しにオーバーヘッドがあるのでインライン化して1つの大きい関数にするというものです。

Deferred Object Creationは、[0, 1, 2, 3][3]がリストを生成せずに3を返すというものです。他にも filter(lambda x: x%2, [1, 2, 3, 4, 5])で中間のリストを生成せずにフィルターを返すというアイデアもあるそうです。

Register allocation/top of stack cachingは、スタックの上位にあるいくつかの項目をレジスターにキャッシュするというものです。これは、メモリーへのアクセスは遅く、レジスターへのアクセスはより速いためです。

最後に、なぜ2人がこの活動をしているかについての話がありました。Ken氏は大学に入る前からCPythonでの活動を開始していたそうです。大学の1学期で2人はMark Henz氏のもとでプログラミング言語実装を受講し、最初の実験的なPyLBBV実装をしました。

この開発を夏も続け、次の年にはManuel Rigger氏が2人のアドバイザーとなったそうです。このように大学が提供している学生のメンターシップを最大限に利用しましょうと語っていました。また、自分が必要とするクラスを取りましょうとも語っていました。

JITに続きめちゃくちゃ内容が難しいトークでした。こんなすごいCPythonの実装を、シンガポールの大学生が行っているということに、非常に驚きました。また、CPythonが地道に高速化するためにいろいろなことを行っていることを知りました。

トークが終わった後に2人にあいさつさせてもらい、⁠日本から来てPyCon JPをやってます。ぜひプロポーザルを出してね、旅費のサポートもあるよ!」とアピールしておきました。PyCon JP 2024に2人の名前があったら個人的には胸アツです。

Unlocking the Parallel Universe: Subinterpreters and Free-Threading in Python 3.13

スピーカーのAnthony Shaw氏はCPythonをはじめさまざまなOSSの開発者であり、CPython Internalsの著者でもあります。日本のPyConにも参加したことがあり、PyCon APAC 2023ではPython 3.12のサブインタープリターについての発表をしていました。

写真 Anthony Shaw氏
Anthony Shaw氏

最初にこのトークの前提条件として、いくつかのトークやドキュメントが提示されました。JITのトークについてはこの記事で紹介したものです。

最初に丸めた紙をPickleされたデータに見立てて、それを会場に投げて処理してもらって並列でタスクを実行する例について説明していました。なかなか面白いアプローチです。

Pythonでの並列実行についてスレッド、コルーチン、マルチプロセッシング、サブインタープリターの4つを提示し、それぞれの特徴メリットデメリットについて紹介しました。複数のCPUコアを使用する場合はマルチプロセッシングかサブインタープリターが適しています。

CPython 3.11まではプロセス全体にGILが1つだけありましたが、3.12からはインタープリターごとにGILが存在するようになります。Python 3.12で4コアCPUで200桁と2000桁のπの計算を例で見てみると、スレッドは200桁だと速い(0.04秒)ですが2000桁だと一番遅く(2.37秒)なります。サブインタープリターでは200桁だと0.05秒ですが、2000秒だと0.63秒とかなり速く処理されます。マルチプロセッシングでは処理のオーバーヘッドがサブインタープリターより少し遅くなります。サブインタープリターは「オーバーヘッドが少なくメモリを共有しているマルチプロセッシング」のようなものと述べられていました。

ここからフリースレッドの話になりますが、Python 3.13からはGILを無効にできるようになります。削除するためには以下の手順で進めるそうです。現在は3番目のステップの最中で、対応が完了するまでにはとても時間がかかります。

  1. GILを削除する
  2. メモリ確保とガベージコレクターを変更する
  3. GILが存在するすべてのCのコードを修正する

Python 3.13のベータ版でGILを有効/無効にしたものでπを2000桁まで計算する場合で速度を比較してみると、スレッドは高速(2.41秒→0.75秒)になりましたが、サブインタープリター(0.76秒→0.99秒)とマルチプロセッシング(1.2秒→1.57秒)では少しずつ遅くなります。GILをオフにすると、現状は少し遅くなります。

まとめとして、マルチプロセッシングに対してサブインタープリターはよりよい解決策となるということ、フリースレッディングはデータ交換のためのスレッドプールより良い解決策となるということが語られました。ただし、Pythonはスレッドを安全に使うためにGILに依存してました。そのため、GILを削除すると予測しない方法で壊れてしまう可能性があるとのことです。

GILの削除はすぐにはデフォルトにならないと思いますが、CPythonのコアが徐々に変わっていっているということが理解できました。

Steering Council Panel

Python Steering Councilは投票によって選ばれた5名による委員会で、Python言語とCPythonインタープリターの品質と安定性の維持や、PEP(Python拡張提案)の決定をPythonのコア開発者やPSFと連携して行っています。Steering Council Panelはこの5名の委員が現在や今後のPythonについて参加者に共有しました。

写真 Steering Councilメンバー
Steering Councilメンバー

Steering Councilは毎年投票によって選出されます。Guido氏がBDFLを退任したときに、コア開発者が集まって議論しガバナンスモデルを提案しました。そして結果として現在のSteering Councilモデルとなりました。ガバナンスモデルについては以下のPEPに書いてあります。

現在のCouncilメンバーは以下のように所属もバラバラです。同じ会社のメンバーは2名までという制限があるそうです。

  • Thomas Wouters - Google
  • Pablo Galindo Salgado - Bloomberg
  • Gregory P Smith - Employer TBD
  • Emily Morehouse - Cuttlesoft
  • Barry Warsaw - NVIDIA

PSFの資金を使用してCPythonの開発のためにさまざまな活動を行っています。Developers in ResidenceとSecurity Developer in Residenceは、PSFがフルタイムで雇用する技術者で、現在5名います。新たにSteering Councilの秘書を雇ったそうです。たしかにいろいろな作業がありそうなので、秘書がいると助かりそうです。また、年次のコアデベロッパースプリントを開催しているそうです。年に1回、世界中のコアデベロッパーが集まり、一週間CPythonの開発を行います。

Steering Councilと連携してさまざまなワーキンググループが活動しているそうです。Ptyhonドキュメントの編集委員会、C APIのワーキンググループ、型ヒントのガバナンスが紹介されました。詳細は以下のPEPを参照してください。

次に2024年10月にリリース予定のPython 3.13について説明がありました。Python 3.13では主要な新機能、新言語仕様、新モジュールはありません。大きな変更点としては、PEP 594による使われていない標準ライブラリの削除、多くの非推奨の関数とクラスの削除、プライベートC関数の削除があります。

型ヒントでの変更は以下です。

またPython 3.13では新しい対話モードが導入されました。シンタックスハイライト、複数行の編集やペーストに対応しています。他にJITコンパイラについても紹介されました。

最後にCPythonでGILをオプションにする件について説明がありました。

長いゴールとしては、フリースレッドのビルドのみとなるのは5年以上先とのことです。後方互換性の維持をすること、またサードパーティのコードをGILがないビルドに対応させる必要があることが語られました。⁠これはPython 4ではない」ということを強調して伝えていました。

写真 This is not going to be Python 4
This is not going to be Python 4

フリースレッド機能は3つのフェーズに分けて進めるとのことです。フェーズ1ではビルドオプションで可能になり、デフォルトではインストールされません。フェーズ2はAPIとABIが安定した時点からとなり、コミュニティでのテストなどのサポートが必要です。フェーズ3ではフリースレッドでのビルドがデフォルトとなりますが、当初は無効化も可能にします。将来的にはGILありのビルドの削除についても議論するとのことです。

かなり丁寧にフリースレッドについて進めるということが認識できました。また、Python 4の予定がないことを強調して伝えていたことが印象的でした。

Python Software Foundation Update

クロージングの前にPSF UpdateとしてPSFの活動の話がありますが、最初に「PyLadies Community Awards」についての話がありました。壇上にはPyLadiesのChairであるLynn Root氏がいます。PyLadiesは女性向けのPythonコミュニティで、現在世界中に250以上の支部があります。また、昨夜のPyLadiesオークションでは60,000ドルの寄付を集めました。これはいままでの最高記録だそうです。

12月に開催されたPyLadiesConのあとにCheuk Ting Ho氏が「Outstanding PyLady Award」について提案し、実施することになったそうです。初めてのOutstanding PyLady Awardには84件のノミネートが集まり、その中から3名の受賞者が選ばれLynn Root氏から紹介、表彰されました。

1人目のAbigail Dogbe氏は2017年にPyLadies Ghanaを立ち上げ、彼女とそのコミュニティはリベリア、エチオピア、ザンビアなど8つのPyLadies支部に影響を与えたそうです。他にもDjangoCon USでの基調講演なども行っているそうです。2人目のJessica Greene氏はベルリンのPyLadies支部を6年以上運営し、インドのデリーなど他の支部にも影響を与えたそうです。他にもPython Pizza Hamburgの運営もしているそうです。

最後に3人目のMaaya Ishida氏はPyLadiesの東京支部に10年以上係わっており、日本全国のPyLadiesとつながることを目的としたPyLadies Caravanも主催しています。またPyCon Hong Kongで基調講演を行っており、PyCon JP Associationの理事でもあります。

PyCon JPやPython界隈で筆者も一緒に活動しており友人でもあるMaayaさんが、初めてのPyLady Awardを受賞する1人となりました。ものすごくびっくりしましたし、いままでの継続的な活動が認められたんだと思う、とても喜ばしいことだと感じました。

写真 左からPyLady Awardを受賞したMaaya氏、Jessica氏、Abigail氏
左からPyLady Awardを受賞したMaaya氏、Jessica氏、Abigail氏

最後にスポンサーと、今年のPyCon USのChairであるMariatta氏へ感謝を述べて、次のChairであるElaine氏を紹介しました。そしてPSFのスタッフが壇上に揃い、参加者から拍手が送られました。ちなみに、左から3人目の青いシャツの人が、私に「Hoopy Frood」のリボンをくれたSalt氏です。

写真 PSFスタッフのみなさん
左からPyLady Awardを受賞したMaaya氏、Jessica氏、Abigail氏

Closing

クロージングではChairのMariatta氏から、予算、トーク数、登録者数などを2023年と比較して報告が行われました。登録者数は2736名、実際に参加した数は2551名、初参加は1752名だそうです。65%が初参加とのことで、初参加の比率が高いなと感じました。Travel Grant(旅費支援)は351,436ドル(約5600万円)と、ものすごい金額です。筆者も旅費をTravel Grantから受け取っており、非常に助かっています。

写真 PyCon US 2024の参加者数
PyCon US 2024の参加者数

そしてPyCon US 2025と2026のChairであるElaine Wong氏にバトンタッチされ、今後のPyCon USについての紹介が行われました。PyCon US 2025はピッツバーグで5月中旬のほぼ同じ時期に開催されます。

写真 Elaine Wong氏
Elaine Wong氏

そしてPyCon US 2026はカリフォルニア州のロングビーチで開催されることが発表されました。ロサンゼルスからアクセスしやすいので、これはディズニーランド(の中のスターウォーズ)に行くしかないな、と個人的に思いました。

写真 PyCon US 2026の開催場所はロングビーチ!
PyCon US 2026の開催場所はロングビーチ!

こうして、PyCon US 2024の3日間のカンファレンスは無事に終了しました。

アジアメンバーでビールパーティー

この日は韓国のSeongsoo Cho氏から「クロージングが終わったらみんなで飲みに行こう!」という連絡がありました。調べてみたところ提案されたピザの店は午後8時に閉まってしまうので、ちょっと遠いけどAslin Beer CoのPittsburgh Taproomに行くことになりました。最終的には、日本、台湾、韓国メンバーを中心に20人以上が集まって、みんなでワイワイとビールを飲んで交流しました。明日帰国する人もいるので、大人数で集まって飲むのもこの日が最後です。みんなでPyCon USの思い出や、また会おうねという話をしました。

写真 みんなでワイワイとビール
みんなでワイワイとビール

このお店は結構広く、別のテーブルにはラテン系のPyCon US参加者のテーブルができていました。ヨーロッパからの参加者もいるため、寺田さんがEuroPythonにも参加する青野高大さんを紹介していました。青野さんはそのままそっちのテーブルに居座って、こちらのテーブルには戻ってきませんでした。ラテンのノリと性格が合うのかも知れません。

スプリント

カンファレンスのあとは開発スプリントです。これはCPythonを含むPython関連のオープンソースのプロジェクトに参加し、一緒に開発をするというイベントです。PyCon US 2024のスプリントは5月20日(月)から23日(木)の4日間開催されます。筆者は1日目のみフルで参加しました。

プロジェクトの一覧はこれが全てではないですが、以下のページで確認できます。

会場に行くと、各部屋のプロジェクト名が書いてあるので、これを見て参加したいプロジェクトの部屋に行きます。たとえばPython CoreはRoom 320であることがわかります。

写真 スプリントの部屋割りボード
スプリントの部屋割りボード

PyScriptスプリント

筆者は昨年に引き続きPyScriptスプリントに参加しました。リーダーも昨年と同じFabio Pliger氏でした。あいさつをして、GitHub Issuesの中から「good first issue」が付いている中で、できそうなものを探します。

写真 PyScriptスプリントのテーブル(筆者の左隣がFabio氏)
PyScriptスプリントのテーブル(筆者の左隣がFabio氏)

そして簡単なドキュメントのリンク切れを修正するPull Requestを作成し、無事にMergeされました。ちょっとでも貢献できてよかった。

スプリントの様子

会場を歩いていると、廊下にあるテーブルにみんながステッカーを広げていました。さながらステッカー交換所のようです。参加者が連れている小さいお子さんが、喜んでステッカーを集めていました。こういうのは万国共通なんですね。

写真 たくさんのステッカー
たくさんのステッカー

また横を見ると、日本から参加した青野さん(1日目に登壇)が、Gudio氏とPaul Everitt氏と立ち話をしていました。⁠Python会の重鎮と立ち話してる!!」と思ってこっそり撮影しておきました。こういうシーンが普通にあるのもPyCon USのすごい所だなと思いました。

写真 Guido氏、Paul Everrit氏と会話している青野さん
Guido氏、Paul Everrit氏と会話している青野さん

Memrayの部屋をのぞいてみると、寺田さんがIssueと格闘していました。あとで話を聞いてみると、時間切れで途中までしかできなかったが、他の人が引き継いでくれて解決したそうです。

写真 Memrayと格闘する寺田さん
Memrayと格闘する寺田さん

さまざまな人との出会い⁠再会

ランチはランチボックスが提供されました。ランチが提供されるだけありがたいです。メインはチキンサラダで、ポテチとリンゴがまるごと1つ付いてくるのがアメリカっぽいなと思います。ランチを食べていると隣の人から「LTで日本語の話をしてたよね?面白かったよ」と声をかけてもらいました。⁠ありがとうございますー」とあいさつを交わして名前を確認してみると、なんとPyCon US 2023のキーノートスピーカーだったNed Batchelder氏でした。そこかしこに大物がいて、PyCon USやべーなと思いました。

写真 ランチボックスの中身
ランチボックスの中身

スプリントでは久しぶりの人との再会もできました。Eric Matthes氏は筆者が翻訳をした書籍の原著者です。第3版出てますねー」みたいな話をしました。Hynek Schlawack氏は向こうから「覚えてる?」と声をかけてくれました。Hynek氏はPyCon JP 2015のキーノートスピーカーとして日本に来てくれました。⁠日本楽しかったよー」と、とても日本に対していい思い出があるようで「また来てくださいねー」という話をしました。こんな感じで、繰り返しPyCon USに参加していると、少しずつ知り合いの和が拡がっていっていることを感じ、それもうれしいなと思いました。

写真 Eric Matthes氏と
Eric Matthes氏
写真 Hynek Schlawack氏と
Hynek Schlawack氏

最後のパーティー

今日のスプリントで最後までいるアジアメンバーで飲みに行こう!ということで、検索してよさそうだなと思ったChurch Brew Worksに行くことにしました。このビール醸造所兼レストランは本物の教会だった建物を再利用しています。ステンドグラスやパイプオルガンがそのまま残っており、とても素敵な建物でした。ステンドグラスと同じマークのビールグラスがかっこいいです(このグラスは自分へのお土産としても買いました⁠⁠。

写真 ステンドグラスと同じ柄のビールグラス
Hynek Schlawack氏

日本、韓国、台湾、インドのコミュニティメンバーと楽しい会話をしながら、筆者の充実したPyCon US 2024が終了しました。このお店は気に入ったので、また来年も来よう!と強く思いました。

写真 乾杯!!
乾杯!!

おわりに

PyCon US 2024のレポートは以上です。今年もまた非常に充実したイベントでした。アジアからの参加者も増えて、来年はもっと増えるといいなと思っています。個人的にはPyCon USでの初めてのライトニングトークが印象深いです。フルの30分トークは過去に採択されたことはあるんですが、コロナでオンライン化、筆者自身がコロナで急遽不参加と2回ともリアル登壇ができてません。PyCon USでのリアル登壇をいつか…と思っています。

なお、筆者が行っているYouTubeライブPyCon JP TVでもPyCon US 2024について紹介しています。寺田さんの写真を中心としたレポートなので、異なった目線からの感想もあるので、ぜひご覧になってください。

オフィシャルの発表動画は、PyCon USのYouTubeチャンネルで公開予定です。以下のページで確認してください。

筆者のPyCon US 2024中のツイート(ポスト)をTogetterにまとめました。こちらももしよかったら見てください(飲んでいるところが多いですが⁠⁠。

写真 アジアから参加したメンバーで記念撮影
アジアから参加したメンバーで記念撮影

おすすめ記事

記事・ニュース一覧