PyCon US 2024参加レポート

#01PyCon US 2024の開幕⁠Day 1ライトニングトークに挑戦

鈴木たかのり@takanoryです。2024年5月後半にアメリカのピッツバーグで開催された、プログラミング言語Pythonの国際カンファレンス「PyCon US 2024」に参加してきたので、その様子をレポートします。

PyCon US 2024とは

PyCon USはアメリカで開催されるPythonに関するカンファレンスです。毎年アメリカの各都市で開催され、2024年はペンシルバニア州のピッツバーグで開催されました。来年もピッツバーグで開催予定です。

PyCon US 2024のイベント概要は以下の通りです。

項目 内容
URL https://us.pycon.org/2024/
日程 チュートリアル:2023年5月15日(水⁠⁠、16日(木)
カンファレンス:2023年5月17日(金⁠⁠~19日(日)
スプリント:2023年5月20日(月⁠⁠~23日(木)
場所 米国ペンシルバニア州 ピッツバーグ
会場 David L. Lawrence Convention Center
参加費 個人:400USD、企業:750USD、学生:100USD、オンライン:100USD
主催 Python Software Foundation(PSF)
PyCon US 2024 Webサイト
PyCon US 2024 Webサイト

なお、筆者はPyCon US 2019、2023に続いて三度目のPyCon USの参加です。以前の様子については以下のレポートを参照してください。

カンファレンス前日まで

筆者はカンファレンス2日前の深夜にピッツバーグに到着しました。直行便はないため成田からシカゴ経由で現地の0時近くにピッツバーグに到着しました。ピッツバーグ空港では恐竜の化石がお出迎えです。

恐竜の化石がお出迎え
恐竜の化石がお出迎え

今回は持っていく荷物が多かったため、103Lとかなり大きめのスーツケースをレンタルして行きました。スーツケースのレンタル、便利です。

今回ホテルは、PyCon JP Associationでも一緒に理事をやっている吉田さん@koedoyoshidaと同室でした。部屋は広々としていて、2名でもかなり持て余してました。

ホテルの裏手にある教会
ホテルの裏手にある教会

受付からOpening Receptionへ

カンファレンス前日はまず会場のDavid L. Lawrence Convention Centerに行って受付して名札を受け取ります。なお、写真の通りPyCon US 2024のルールではマスクの着用が必須となっていました。発表時、写真撮影時、飲食時は外してもよいですが、それ以外は会期中はマスクをしていないといけないという、結構厳しめのルールとなっています。

PyCon US 2024受付
PyCon US 2024受付
名札を受け取った
名札を受け取った

受付を終えるとNewcomer OrientationとOpening Receptionに参加します。この2つのイベントは毎年開催されており、NewcomerはPyCon USに初参加する人にどんな風にイベントを楽しむとよいかを紹介します。

Opening Receptionは企業やコミュニティブースがあるメインホールが解放され、ビール片手にブースを巡ります。このタイミングでいろんなブースを回ってTシャツなどのグッズをゲットする人もたくさんいます。なお、今回もPyCon US 2023に引きつづきPyCon APAC(アジア太平洋地域のPyCon)としてコミュニティブースを出しました。コミュニティブースについては後半のコラムで紹介します。

Newcomer Orientationはキーノートと同じ会場
Newcomer Orientationはキーノートと同じ会場
Opening Receptionの企業ブースの様子
Opening Receptionの企業ブースの様子

ブースをうろうろしていると声をかけられました。誰だろうと思って見てみると、東京に来たときに一緒に飲んだSarahさんでした。SarahさんはCoiledというDaskを開発している?(あんまりわかってない)会社としてスポンサーブースにいたようです。PyCon USに行くということは伝えていたので、再会できてよかったです。マスクしていると顔がわかりにくいんですよね。

Sarahさんと再会
Sarahさんと再会

PyCon US 2024ではトークには落選したので、ライトニングトークでは発表したいなと考えており、スライドなど事前に準備をしてきました。

レセプション会場を出ると、カンファレンス1日目のライトニングトークの申し込みボードがあったので、そこに「Learn Japanese with Python!」というタイトルで記入しました。PyCon USのライトニングトークは早いもの勝ちではなく、ボードに書き込んだ中から選ばれた人にメールで連絡がきます。偶然性もありつつある程度トークを選ぶことができるので、バランスの良い方法だなと思っています。

金曜日夕方のライトニングトークに申し込み
金曜日夕方のライトニングトークに申し込み

カンファレンス前日の夜は、PyConを運営しているアジアのメンバーで飲もうという連絡があったのでお店に行きました。すると実際にはアジアだけじゃなく世界中のコミュニティメンバーがいて、私のテーブルにはPSFのスタッフもいればアフリカやヨーロッパコミュニティの人もいて、バラエティに富んでいました。

コミュニティメンバーのパーティー
コミュニティメンバーのパーティー

PyCon USの名札には自分の属性(スピーカー、スポンサー等)を表すリボンを付けられるんですが、同席したSaltさんが自作の「Hoopy Frood」というリボンを付けていて、面白いのでそのテーブルにいたメンバーはみんなもらいました。⁠これはどういう意味なんですか?」と質問すると銀河ヒッチハイク・ガイドに関連するなにか」だと教えてくれました。私は読んでいないので意味は謎のままですが、誰か意味を教えてください。

謎のHoopy Froodリボン
謎のHoopy Froodリボン

PyCon US中に数名から「このリボンはどこでもらえるの?」と質問されたので「謎のおじさんにもらったよ」みたいな話をしました。オリジナルのリボンを作って持っていくの、ちょっとありだなと思いました。⁠Beer Lover」とか作ろうかなぁ。

カンファレンス1日目

カンファレンス1日目です。ホテルからカンファレンス会場への道は、過去に参加したクリーブランド、ソルトレイクシティよりちょっとだけ怖いなって感じがありました(特になにも事件はありませんでしたが⁠⁠。とはいえ、夜でも複数人なら全然問題なく歩ける感じです。

WelcomeとPSFからの報告

カンファレンスのオープニングは2023に続いてConference ChairであるMariatta@mariatta氏からのあいさつです。オープニングの最初の方で「PyCon USコミュニティメンバーからのメッセージ動画」が流れました。私もこのインタビュー動画に出演しており、自分が出るのを待っていたんですが、ダイジェスト版のようで私は出ませんでした。残念。

インタビュー動画のフルバージョンはこちらですGet ready for PyCon US 2024! Tips and tricks from our community.⁠。

Mariatta氏によるオープニング
Mariatta氏によるオープニング

今年の説明スライドは「PyCon US v2024 Release Notes」というタイトルで、ソフトウェアのリリースノートになぞらえているのがおしゃれだなと思いました。オープニングではPSFのスタッフ、100名以上のボランティアの主催メンバーに感謝が述べられました。プロポーザルの数は973件と過去最大とのこと、トークが通るのはかなり狭き門です(私も落ちました⁠⁠。参加登録は2738名+オンライン395名とこちらも過去最大に迫る数とのことです。

以下のスライドは「Hatchery Program」という今年実験的に行うイベントの紹介です。FlaskCon、Documantation SummitなどがRoom 317で行われるという案内です。

Hatchery Program
Hatchery Program

Mariatta氏によるあいさつに続いて、PSFのExecutive DirectorであるDeb Nicholson氏からのオープニングトークです。例年はPSFからの報告はクロージング前とかなので、このタイミングでPSFからの話があるのは意外でした。

まず、Pythonは1日に3億ダウンロード、PyPIは2023年は1年で3840億ダウンロードとすごい数がダウンロードされているという説明がありました。また、助成金として2023年は697,000ドル(約1.1億円)とたくさんの金額で世界中のPythonコミュニティをサポートしているという説明がありました。ものすごい金額です。

PSFからの助成金
PSFからの助成金

昨年東京で開催されたPyCon APAC 2023もPSFから助成金のサポートを受けていました。Pythonに関するミートアップやイベントの開催を考えている人は、PSF Grants Programに申請してみることをおすすめします。

Day 1 Keynote⁠Jay Miller

一番最初のキーノートはJay Miller氏によるものです。Jay氏は2014年からPythonコミュニティに関わっているメンバーで、サンディエゴのPythonコミュニティメンバーでもあります。

Jay氏は自身も黒人であり以前からPyCon USに参加しているが「ステージで発表している黒人は数人しか見たことがない」という話からはじまりました。黒人の参加者もそれほど多くなく、見つけたときに「どこかで発表をしたことはありますか?」と質問すると、返ってくる答えは「PyCon USに仕事を探しに来ました」というものがほとんだそうです。筆者も2024年を含めて過去3回PyCon USに参加しましたが、確かに黒人のスピーカーはほとんど見たことがないなと思いました。

Jay Miller氏
Jay Miller氏

そこで、黒人のPythonコミュニティのヒーローが生まれるとよいと考え、Black Python Devsというコミュニティを立ち上げたとのことです。このコミュニティはGnome Foundationのサポートを受けており、メインの活動はオンラインです。現在は南北アメリカ、アフリカ、ヨーロッパなどから425名のメンバーが参加するコミュニティにまで育ったそうです。

世界に散らばるリーダーによって運営されており、PSFの助成金(Grants)により4人のリーダーがはじめてPyCon US 2024に参加したとのことです。こういうところにも助成金が使われているのかと思いました。また、トークの最後の方で「コミュニティをサポートするために寄付をしてほしい」という話がありました。この寄付はPyCon USの会期中に目標額の5,000ドルを超えたようです。

筆者自身はアジア人として参加して、アジアからの参加メンバーもそれほど多くないと感じていました。もっとたくさん参加するといいなと思いますし、そのための動きがなにかできるとよいのかも知れません。また、数年後のPyCon USでは黒人のスピーカーがたくさん増えているかも知れないなと思いました。

Making Your Documentation Interactive with PyScript

このトークでは、Sphinxなどで書いたHTMLのドキュメントにPyScriptを導入し、インタラクティブなドキュメントにする方法について紹介していました。PyScriptの基本的な動作原理と導入方法について解説し、次にpy-editorを紹介しました。py-editorを導入するとHTMLの中でPythonコードを書いて実行することができるようになります。

PyScriptを導入
PyScriptを導入

また、py-editorはそれぞれ独立したインタープリターが動作します(メモリ空間が別)が、environmentを使用すると共有できるようになります。またconfigurationで設定すると任意のURLをファイルシステムのように使用できます。CSVファイルを読み込む例が紹介されていました。

Python製の静的サイトジェネレーターであるSphinxMkDocsにそれぞれPyScriptを導入する拡張機能も紹介していました。

私はSphinxでドキュメントを書いて公開することはよくあり、Python Boot Camp TextにうまくPyScriptを入れられないかなと思いました。今度ぜひ挑戦してみたいと思います。

PyScriptについては「Python Monthly Topics」の以下の記事も参考にしてください。

Ruff: An Extremely Fast Python Linter and Code Formatter, Written in Rust

このトークではPythonのリンター、フォーマッター、コード変換ツールであるRuffの中身について、作者自ら語るというものでした。どのようにしてRuffを速くしているのか、ただRustを使っているだけではないさまざまな工夫があることが解説されました。

全部のファイルを並行処理と並列処理で処理しているという説明がありました。また、データでかならず判断するということで、実装した結果でパフォーマンスが上がったどうかを細かく計測していることが紹介されました。

改善の例として整数の解析処理について説明がありました。Pythonでは整数の長さに制限がありませんが、Rustの整数は固定長です。当初は整数の文字列を見つけたら Vec<u32> とベクター形式にして大きい整数に対応していましたが、常にこの形式で領域を確保するのは無駄です(ほとんどの整数は小さいため⁠⁠。そこで、整数の長さを見て通常は u64 を使用して、大きな整数のときのみ Vec<u32> を使うように変更し、パフォーマンスを改善したとのことです。

整数の解析処理
整数の解析処理

他にも、#noqaのコメントを判別する方法を正規表現から専用のLexarに変更して、パフォーマンスが改善されたとのことです。また、Pythonのパーサー(構文解析器)を専用コードからパーサーの生成ツールでRustのコードを生成するようにして、Pythonの変更にも対応しやすくなり、パフォーマンスも改善したそうです。

Ruffは速いと思っていましたが、ただRustで書いただけじゃなく、地道に改善して今の爆速なツールになっているんだなと、非常に関心しました。

RuffについてはPython Monthly Topicsの以下の記事も参考にしてください。

ライトニングトーク

カンファレンスに参加していると、ランチ後の13:30ごろに「Congrats! Your PyCon US lightning talk for Friday @ 6:00pm has been selected!」というタイトルのメールが届きました。昨日ボードに書き込んでおいた私のライトニングトークが選ばれたようです!!うおおおおお!!

というわけで午後はトークは少しだけにして、ライトニングトークの練習に時間を使うようにしました。今回はスクリプト(台本)は用意せずにしゃべる、ということにチャレンジしてみました。そのため、どういうことをどういう英語でしゃべるか、ということを覚えながら練習を繰り返しました。

発表内容は、単語がスペースで分割されていない、漢字の読みが複数種類あるといった、日本語の難しいところを最初に説明し、Pythonの日本語形態素解析ライブラリを使って日本語を学ぶときのサポートをできるかも?といったものです。スライドは以下に公開しています。

ライトニングトークで発表
ライトニングトークで発表

Pythonのプログラムで日本語の分かち書きや、読みを取得するところ、Amazon Pollyで音声を取得するところをコード例で紹介し、最後にそれらを使った簡単なデモアプリで動作を見せました。ライトニングトークの短い時間(5分)でのデモはドキドキでしたが、なんとか時間内にうまくできたと思います。PCから音声を流すというところもバッチリでした。

サンプルアプリは以下に置いてあります。Streamlitを初めて使ってみましたが、サクッとほしい感じのものが作れて便利だなと感じました(行きの飛行機の中でだいたい作りました⁠⁠。

その後数人から「LT良かったよ」⁠面白かった」みたいに声をかけられたので、そういう意味でも発表して良かったなと思いました。

他のライトニングトークでは、韓国のSoojin氏による、PyCon APAC 2023をきっかけにPyLadies Seoulをリブートした話がありました。PyCon APAC 2023の中でPyLadies Tokyoが女性参加者と交流するイベントをやっており、そのつながりがきっかけとなって国を越えて広がっていくのはとても良いなと思いました。

Soojin氏のライトニングトーク
Soojin氏のライトニングトーク

ほぼ何もないHappy HourとHelltown Brewing

この日のビールは企業主催のHappy Hourパーティに参加したんですが、行くのが遅く、ほぼ食事は終わっており、無料ビールもなくなっていました。しょうがないので1杯だけ自分で払ってビールを飲んで、日本人数名と友人のJason一家とその友達と一緒に、Helltown Brewingで飲み直すことにしました。このお店は食事がないため、同行していたmaayaさんにUber eatsで肉とイモなどを頼んでもらい、なんとか飢えをしのぐことができました。

揚げたトリと揚げたイモ
揚げたトリと揚げたイモ

このお店にはボードゲームやカードゲームがいくつか置いてあり、デカいUNOをみんなでやりました。UNOやるの久しぶりすぎてルールをあまり覚えておらず、他の人に「これ出していいの?」と確認しながらのプレイでしたが、飲みながらゲームするのも楽しいですね。

デカいUNO
デカいUNO

こんな感じでカンファレンス1日目は幕を閉じました。

おすすめ記事

記事・ニュース一覧