鈴木たかのり
PyCon US 2023とは
PyCon USはアメリカで開催されるPythonに関するカンファレンスです。毎年アメリカの各都市で開催され、今年は昨年
PyCon US 2023のイベント概要は以下の通りです。
URL | https:// |
---|---|
日程 | チュートリアル: 2023年4月19日 カンファレンス: 2023年3月21日 スプリント: 2023年4月24日 |
場所 | 米国 ユタ州、ソルトレイクシティ |
会場 | Salt Palace Convention Center |
参加費 | 個人: 400 USD、企業: 750 USD、学生: 100 USD |
主催 | Python Software Foundation |

なお、筆者はPyCon US 2019にも参加しています。そのときの様子は以下のレポートを参照してください。
レポートの1回目はカンファレンス前日から1日目のセッションの様子を中心にお伝えします。
カンファレンス前日まで
筆者は時差の影響も考えて、カンファレンスの2日前に現地入りしました。ソルトレイクシティへの直行便はないため、成田からサンフランシスコを経由してソルトレイクに到着です。
ソルトレイクシティの空港は

ホテルは一緒にPyCon USに参加した吉田さん

どういうビールがつながっているかを、そこにいた現地の人が教えてくれました。なんと、その方があとで
私も、日本に来ている外国の人に優しくして、隙あらば試し飲みセットをおごってみたいなと思いました。

受付からOpening Receptionへ
カンファレンス前日はまずは会場に行って受付を済ませます。ワクチンの接種証明を見せてから、受付で氏名を確認すると名札が印刷されます。

その後市内を散歩して買い物などしてから会場に戻り、Newcomer Orientationという初参加者向けのイベントに参加します。会場はこんな感じで、この部屋でキーノート、ライトニングトークなどが行われます。

Newcomer Orientationではスタッフからどのように振る舞うとよいかという話がされました。いろいろな人に話しかけようといった話がされていました。

オリエンテーションが終わるとそのままOpening Receptionです。Opening ReceptionではスポンサーブースがあるExpo Hallをビールなどを片手に見て回ります。筆者もいろいろなブースを回って話を聞いたりし、お土産になりそうなグッズを入手しました。

その後は日本から来たメンバーで昨日とは違うビールの店

Day 1 スタート
さてカンファレンス1日目です。カンファレンス期間中は毎日朝食が出ます。助かりますね。また、食事は全てベジタリアン用のメニューも用意されています。

オープニング
カンファレンスのオープニングはConference ChairであるMariatta

最初に参加者、スタッフ、ボランティア、スポンサーなどへの感謝が述べられました。参加者はこの時点で2,000名ほどだそうです。その後自らのストーリーが語られました。Mariattaさん自身は2015年にPSFによる参加費のサポートによってPyCon USに参加し、そこで自分の人生が変わったそうです。そこでは女性がたくさん発表しており、自分もそうなりたいと思い、その後自分も発表できるようになったり、Pythonのコアデベロッパーとなっていったそうです。
そしてPyCon US 2023のイベントの紹介が行われました。キーノートスピーカー、スペシャルゲスト、89のトークは全て生中継すること、PyLadies Auction、Open Spacesなどなど。またモバイルアプリの紹介もありました。このアプリはタイムテーブルの確認にとても便利でした。
なお、PyCon US 2023ではマスクの着用は必須です
Keynote: Ned Batchelder
オープニングのあとは、Ned Batchelder

このトークでは
人は不確かで複雑です。人には標準が存在しなく、みんな違います。また、ドキュメントもないし、予測不可能です。予測不可能なのは隠された状態を持っていることが原因でもあります。また、人が発するエラーメッセージは明確ではありません。
そんな人に対してのAPIユーザーガイドを紹介するということがこのトークの目的です。ただし、自身は心理学者ではなくエンジニアのため、自身の経験に基づいています。多くの人とのやりとりをリバースエンジニアリングし、うまくいかなった議論のトレースバックをもとにどうすればうまくいったかを考えたものに基づいています。
人とやりとりするメッセージには2つの部分
よりよい対話をするために以下の5点が挙げられました。
- 「イエス」
と言う - より多くの言葉を使う
- 言葉を慎重に選ぶ
- 謙虚であること
- 明示的であること
そして、それぞれについて実際にありそうな会話の例を元に、こう回答するとよいと思うという説明がされました。1つ例をあげると以下のようなやりとりです。これは
- Aさん
「この配列の長さはどうやったら取得できますか? arr = [1, 2, 3]
」 - Bさん
「それは配列じゃないです」
こう言われるとAさんは
- Bさん
「リストの長さは len(arr)
で取得できます」 - Aさん
「なるほど、リストって言うんですね、ありがとう!」
このように、各注意点ごとにどのようなやりとりをすると、よりよい対話となるかという例があげられていきました。
筆者もこのトークを
Making CPython 3.11 Fast - Inside Python's new specializing, adaptive interpreter.
- スピーカー:Brandt Bucher
- スライド:inside_
cpython_ 311s_ new_ specializing_ adaptive_ interpreter. pdf - 動画:Talks - Brandt Bucher: Inside CPython 3.
11's new specializing, adaptive interpreter
キーノートのあとは5つのトラックに分かれてトークがあります

Brandt氏は6年前からPythonを使い始め、現在はMicrosoftのFaster CPythonチームに所属しています。このトークではCPythonでバイトコードでどのように効率化されたかについて紹介していました。
最初に以下のクラスのサンプルコードを提示し、disモジュールのdis()
関数でバイトコードを取得します。
class Point:
def __init__(self, x: float, y: float) -> None:
self.x = x
self.y = y
def shifted(self, dx: float, dy: float) -> typing.Self:
x = dx + self.x
y = dy + self.y
cls = type(self)
return cls(x, y)
dis()
関数にPython 3.adaptive=True
を指定すると、特殊なバイトコードを出力します。するとsel.
で属性の値を取得するバイトコードがLOAD_
からLOAD_
に変わるなど、変化があります。LOAD_
は、クラスが前にアクセスしたときから変わっていない場合に、値の返却が速くなります。
他にもdy + self.
の部分がBINARY_
からBINARY_
に変わります。これは、左右がどちらもfloat
の場合に使用されます。このように実行時に効率的なバイトコードが使用できるかを確認し、バイトコードを切り替えることで処理の高速化を図っているそうです。
また、specialistというライブラリが紹介されました。specialist hoge.
と実行すると、Pythonコードのどの場所が上記の特殊なバイトコードを使用して最適化されるかを見た目で表現するそうです。

CPython 3.
オープンスペース
会期中は小さな会議室でオープンスペースというものが開催されています。オープンスペースというのは、場所と時間枠が用意してあるので、そこで議論したいことなどがある人が議論したい内容など枠を確保するものです。アンカンファレンスとも呼ばれます。
PyCon US 2023ではカンファレンスの3日間毎日、1時間ごとにオープンスペースの枠が用意されていました。ボードを見てみると技術系だけじゃなく、カンファレンス主催者のミートアップ、高校の先生、自転車・

筆者はそのうちの1つ、Python Bytesというポッドキャストの公開収録に参加してみました。このポッドキャストは過去にも聞いたことがありますが、Pythonに関するさまざまな話題を扱っています。

このときに収録されたポッドキャストはすでに公開されています。冒頭に参加者の拍手があるのが、公開収録っぽい感じで面白いです。
Eric Matthes氏との再会
この日は出版社No Starch Pressのブースで、書籍
今回も書籍を購入し、著者のEric Matthes

Eric氏からのサインには

ライトニングトーク
カンファレンス1日目の最後はライトニングトークです。出力がカラフルになったtox 4の紹介、ソースコードを読みやすくするサービスSourceryの紹介、Zen of Pythonについてのトークなどがありました。
スピーカーの一人に謎のマスクマンがいました。実は彼はフィリピンから参加していたSony Valdez

APACメンバーでの夕食とPyParty
PyCon US 2023には日本だけで無く、多数のAPAC地域から参加しているメンバーがいました。そこで、この日はカンファレンス終了後にみんなで集まって食事をすることにしました。日本、韓国、台湾、香港、フィリピン、タイ、中国から合わせて20名ほどが参加し、交流を深めました。

ここでの食事はフードコートのためお酒がありません。そこで食事会のあとに企業

次回は、カンファレンスDay 2、Day 3、スプリントの模様をお伝えします。