カンファレンス1日目

WelcomeとPSF Welcome

カンファレンスのオープニングはPyCon US 2026のChairであるElaine Wong氏によるWelcomeメッセージです。 最初に関係者、スポンサーなどへの感謝が述べられました。

../../_images/welcome.jpg

Elaine Wong氏によるWelcomeメッセージ

最初の方で「まわりの会ったことない人と会話してみましょう」というアイスブレイクがありました。 筆者は、前に座っていたMark Shannon氏とあいさつをしました。 Mark氏はPyCon JP 2022のキーノート[1]だった方で「私が日本から来たこと、Mark氏が日本でキーノートをしたこと、日本にぜひ来てください」といった話をしました(2022のキーノートはリモート発表でした)。

ボランティアの募集、会場の説明、PyLadies Auctionの紹介、スプリントなどのイベントの説明がありました。 その中でPyCon US 2026での初めての取り組みとして以下が紹介されました。

  • AIトラック(カンファレンス1日目)

  • セキュリティトラック(カンファレンス2日目)

  • Pablo氏によるスペイン語のキーノート(カンファレンス2日目の朝、同時通訳付き)

PyCon USで英語以外のキーノートを行うというのは、挑戦的だと思いました。 なお、Pablo氏は英語でも早口なので、母国語のスペイン語だとどんなスピードになってしまうんだろう。通訳は間に合うんだろうか?という感想を持ちました。

Welcomeの後はトップレベルのスポンサーによるショートトークがありました。 Nidia、Bloomberg、MetaがそれぞれCUDA、Memray、Pyrefly、Lazy imports、Free-threaded Pythonなど、Pythonエコシステムへの貢献について紹介していました。

続いてDeb Nicholson氏によるPSF Welcomeです。Deb氏はPSFのExecutive Directorです。 PSF(Python Software Foundation)はPythonの権利を管理する団体です。

../../_images/deb-opening.jpg

Deb Nicholson氏

Deb氏からは「魚を与えるだけでなく、釣り方を教えよ」ということわざを引用し、お互いに教えあうことがPythonコミュニティの強みである、と語られました。

PEP 750 - T-strings: safer and smarter string processing

本トークではブラジルからやってきたVinícius氏から、Python 3.14で導入されたt-stringsについて紹介されました。 t-stringsについては以下の公式ドキュメントやgihyo.jpの記事を参照してください。

t-stringsでは文字列ではなくTemplateオブジェクトが生成されること、stringsinterpolationといった基本的な構造が説明されました。

トークの後半では具体的なユースケースとしてセキュリティ対策(XSSやSQLインジェクション等)、Jinjaなどの代わりとなるテンプレート、ログ出力処理についてあげられていました。 ログ出力については、1つのテンプレート文字列から人が読みやすいテキスト形式のログと、コンピューターが読みやすいJSON形式のログをそれぞれ出力するという例を、サンプルコードを交えて解説していました。

ログ出力の出し分けは、なかなか実用的だなと感じました。 今後どこかで使用するかもしれません。

What's so hard about writing a type checker? A tour of ty

本トークではAstral社のエンジニアであるCarl Meyer氏から、Pythonの静的型チェッカーtyの内部構造について解説がされました。 tyは高速な型チェッカーであり、高速に動作するためのアーキテクチャーやさまざまな工夫について語られました。

../../_images/carl-meyer.jpg

Carl Meyer氏

tyの設計上の目標は高速に動作することであり、そのために laziness(怠惰) の原則に基づいて開発されています。 ここでいうlazinessは「不要なことはせずに、必要なときに行う(遅延処理する)」ということです。

tyではコードの依存関係グラフを持っています。 そしてtyの実行時に変更された箇所を検知し、その箇所に依存しているコードのみを型チェックの対象とします。

また内部ではRustのSalsaを使用して自動的に情報のキャッシュが行われ、同じ入力を与えた場合にはSalssaは再計算を行わずにキャッシュから結果を返します。 また、依存グラフもSalsa内にあるため、必要な場合にはキャッシュを自動的に無効化します。

tyを高速に動作させるためにはただ単にRustを使っているというだけでなく、いろいろと内部のアーキテクチャでも工夫をしているということが感じられるトークでした。 Astral社のツールはRuffuvも高速に動作しますが、それぞれのさまざまな工夫を知ることができました。

ランチ

ランチはビュッフェ形式です。 生野菜のサラダ、野菜のロースト、パスタ、チキン、デザートなどがメニューとして用意されています。 アメリカ滞在中はなかなか生野菜を食べる機会がないので、とてもありがたいです。

../../_images/lunch-day1.jpg

ランチはビュッフェスタイル

ランチのあとは企業ブースを回りました。 Metaのブースではコーヒーを提供していたので、その列に並びました。 列で待っている間にクイズに答えると、おまけでクッキーがもらえます。 クッキーには静的型チェッカーPyreflyロゴが印刷されてました。

../../_images/meta-coffee.jpg

Metaブースのコーヒー

../../_images/pyrefly-cookie.jpg

Pyreflyクッキー

The Bakery: How PEP810 sped up my bread operations business

Python 3.15で導入されるlazy importを使用して、サンプルのCLIプログラムが速くなることを確認し、どのようにlazy importを導入するとよいかという話がされました。 lazy importについては以下の公式ドキュメントを確認してください。

../../_images/jacob.jpg

Jacob Coffee氏

サンプルプログラムのbreadctlというCLIを使用してトークが進められます。 コードは以下のGitHubにあります。

まず問題点とPythonの起動が遅いということが述べられました。 --helpオプションを指定してヘルプを表示するだけで234ミリ秒がかかっています。 これは起動時に全てのモジュールをimportしているために発生しています。

PEP 810で提案されたlazy importはPython 3.15から追加されます。 以下の様に書くとそのモジュールにアクセスしたときに、初めてimportされます。

normal.py
# 起動時にすべてロードされる
from breadctl import bake
from breadctl import deliver
from breadctl import inventory

# それぞれ以下のモジュールが中でimportされている
# bake: collections、itertools
# deliver: httpx
# inventory: sqlite3
lazy.py
# アクセス時にロードされる
lazy import breadctl.bake as bake
lazy import breadctl.deliver as deliver
lazy import breadctl.inventory as inventory

lazy importはどのように動作しているのでしょうか。 まず解析フェーズではLazyModuleプロキシを作成します。 この段階ではモジュールは読み込まれていません。

httpxをlazy importする
lazy import httpx

そして、実際にhttpxモジュールを使用するときに、はじめてモジュールが読み込まれます。

httpxが読み込まれる
response = httpx.get(url)  # httpxがここで読み込まれる

最初の--helpオプションのlazy import版を実行すると、234ミリ秒から164ミリ秒と70%の起動時間になりました。

lazy importの活用する場所としてテスト実行の高速化、サーバーレスでの起動、CLIアプリケーションへの活用などがあげられました。

大量のテストコードがある場合には確かに有効そうです。 Python 3.15に移行したあとにlazy importを試してみたいと思いました。

Free-threaded Python: past, present and future

本トークではPythonからGILを取り除くフリースレッドの状況について共有されました。 スピーカーのThomas Wouters氏は3.12と3.13のリリースマネージャーであり、Python Steering CouncilのメンバーでもあるというPython開発の中心人物の一人です。 Thomas氏はMetaに勤務しており、業務としてフリースレッドに取り組んでいるそうです。

../../_images/jacob.jpg

Thomas Wouters氏

Pythonで並行処理を行う方法としてマルチプロセス、サブインタープリター、asyncioなどがあるが、フリースレッドにもメリットがあるということが語られました。 マルチプロセスは各プロセスが独立して動きますが、プロセス起動やプロセス間のデータ受け渡しにコストがかかります。 サブインタープリターではインタープリターが独立するためGILの制限を受けませんが、別のインタープリターであるためデータの受け渡しコストがかかります。 asyncioはスレッドやプロセスを作成するオーバーヘッドがなく軽量ですが、シングルスレッドで動作しているため、CPU負荷が高い処理は同時に実行できません。

フリースレッドは複数のスレッドでPythonが同時に動作し、メモリも直接共有するためデータ受け渡しのコストは低いです。 ただし、フリースレッドに対応していないモジュールは使用できないという問題があります。

また、Pythonがフリースレッドに対応するまでの長い道のりが紹介されました。 2013年のPyParallel、2015年のGilectomyを経て、Sam Gross氏が2021年にPython 3.9からGILを取り除いたPoC(概念実証)を作成しました。 この経験を元にPEP 703でCPythonでGILをオプションにする提案を行い、Python 3.13からフリースレッドが利用できるようになりました。

なお、Sam Gross氏がNoGILについて発表しているEuroPython 2022のキーノートを筆者が以前レポートしています。 4年前の発表から現在のPythonまで地続きになっていることが感じられます。

ライトニングトーク

カンファレンス1日目の終わりはライトニングトークです。 以下の様なトークがありました。

  • PyCon USに来ていろんな人とセルフィーを撮って友達を作るという話。https://ekohilas.github.io/linkedinsnap/ というWebアプリも紹介

  • 求職活動でAIを使って嘘の情報を出す人が増えている話。PyCon USに参加しているときに写真などの証拠を残そう

  • PyCon USで字幕を付けている人のトーク。特殊なキーボードを使用して高速に入力しているとのこと

  • CUMBUCA DEV: ブラジルのマイノリティの開発コミュニティ。ポルトガル語のgithubの本を出したり。CUMBUCAはBOWLのこと

  • たくさんのAIエージェントだと結局混乱するって話

  • ハロウィンの動く装飾をRaspberry Pi ZeroとPythonで作成している話(参考:Aspiring Roboticist's Profile | Hackaday.io)

  • 韓国のSeongsoo Cho氏が、PyCon Koreaのスプリントの経験から自身がはじめた、オープンソースのメンターを育てる活動

../../_images/day1-lt1.jpg

特殊なキーボード(写真右の字幕は他の字幕スタッフが入力している)

../../_images/day1-lt2.jpg

Seongsoo Cho氏

パーティーへ

カンファレンス終了後は企業主催のパーティーに参加しました。 カンファレンス中はいくつかのスポンサー企業が主催したパーティーが開かれています。 私はCapital Oneのパーティーに参加しました。 知らない人に声をかけられたと思ったら、アジアのどこかのPyConで一緒に飲んだことがある方でした(髪が短くなっていてわからなかった)。

../../_images/day1-party.jpg

パーティーの様子

パーティーにはあんまりいいビールがなかったので、アジアメンバーを中心に声をかけてISM Brewingに飲みに行きました。 日本、韓国、香港、アメリカと多国籍な感じで楽しくビールを飲みました(いつものこと)。

../../_images/day1-party2.jpg

ISM Brewingでビールパーティー

コラム:「PyCon US 2026 参加報告会」のお知らせ

日本と香港から参加したメンバー5人が、それぞれの視点でPyCon USでの体験を語る「PyCon US 2026 参加報告会」というイベントを6月29日(月)に開催します。 渋谷のHENNGEさんとオンラインのハイブリッド開催です。

PyCon USなど海外イベントってどんな感じなんだろう、自分も挑戦してみたいなど、興味のある方はぜひご参加ください。 現地の懇親会では「PyCon US 2026 おみやげのプレゼント」もあります!!

../../_images/connpass.png

PyCon US 2026 参加報告会のconnpassページ