PyCon US 2023 参加レポート

#02PyCon US 2023 後半のハイライト ―PyScript関連セッションに注目

Pythonの国際カンファレンス「PyCon US 2023」の参加レポート、2回目はカンファレンス2日目から3日目、さらにその後に行われたスプリントの模様をお伝えします。

Day 2の始まりは「Python Steering Council Panel」から

Pythonは新機能をPEP(ペップ:Python Enhancement Proposal)というドキュメントで提案します。その採用不採用を判断する中心となる組織がSteering Councilで、毎年選挙によってメンバーが決定しています。

最初にPEP 13 – Python Language GovernanceによってSteering Councilという運営方法が決定していることと、現在の5名のメンバーが紹介されました。Emily Morehouse、Gregory P. Smith、Pablo Galindo Salgado、Thomas Wouters、Brett Cannonの5名で、それぞれ1年、2年、3年、4年、5年目のメンバーです(偶然だそうです⁠⁠。

Python Steering Councilメンバー
Python Steering Councilメンバー

次にPython 3.12の新機能について説明がありました。新機能についてはWhat's New In Python 3.12のページで確認できます。

以下が主要な新機能として紹介されました。

  • Better f-strings:引用符をネストできるようになった
  • サブインタープリターごとのオプションGIL
  • 型パラメーターを指定する構文の改善
  • エラーメッセージの改善
  • distutilsの削除
  • 古いunittestのメソッドの削除
  • 文字列リテラルでエスケープシーケンスが無効な場合の警告

細かい改善や古い機能の削除が主ですが、サブインタープリターごとのオプションGILが導入されることにより、パフォーマンスにどのような影響が出るのかも気になります。

PSF Community Lunch

ランチタイムは、通常のランチではなくPSF Community Lunchに参加しました。このランチは、PSF(Python Software Foundation)の報告をランチを食べながら聞くというものです。参加者は各国のコミュニティを運営しているメンバーや、PSFのボードメンバーなどが多く参加していたという印象です。

PSF Community Lunch
PSF Community Lunch

PSFの財務状況としては、パンデミックでPyConが急遽中止になった2020年は落ち込んでいましたが、その後は順調に回復しているようです。

また、PSFから他の地域への助成金の割合としては、アジア、アフリカがかなり低い割合ということがわかりました。⁠アジア・アフリカにもっと助成金を配分すべきではないか」という意見がアジアのメンバーからあげられていました。

PyScript and the magic of Python in the Browser

この日のトークからはPyScript関連の発表を紹介します。PyScriptはWebブラウザ上でPythonが動作する仕組みで、詳細については筆者がgihyo.jpで記事に書きました。

このトークではまずpyscript.comというサイトが紹介されました。このWebサイトは、エディターが表示されてそこでPyScriptのコードを書いて実行するという、PyScript用のIDE(統合開発環境)を提供するサービスです。ここで作成したコードをシェアする機能などもあるようです。興味のある方はユーザー登録してみてください。

他にPyScriptで書かれたPyperCardGitHubというプロダクトが紹介されました。これはMacの昔あったソフトウェアHyperCardに着想を得た、PythonのGUIフレームワークです。使い道はすぐには思いつかないですが、面白い試みだなと思っています。

今後の予定としては、Visual PyScriptというGUIでプログラムを書くようなものを作成中だそうです。現在はalphaバージョンとのこと。他にはpyscript.comで質問に答えてくれるPyScript Assistantというものも提供していくそうです。Anaconda社を中心に、PyScript関連の開発が幅広く進んでいるなという印象をうけました。

トークの後半では、PyScriptがFFIForeign function interfaceをサポートしている実例として、LEGOのロボットをPyScriptから操作する例をデモしていました。Webブラウザで動いているPyScriptから、そのPCに接続しているインタフェース経由でLEGOに命令を送っているんでしょうかね? なにがどうなっていのるかよくわかりませんが、すごいなと感じました。

PyScriptからLEGOを動かすデモ
PyScriptからLEGOを動かすデモ

Day 2の最後を飾るライトニングトーク

カンファレンス2日目の最後もライトニングトークです。韓国コミュニティのKwonHan@darjeelingt氏がPyCon Koreaの歴史や、立ち上げる前のことなどを語っていました。ときどきクスっとする所もありつつ、PyCon Koreaの立ち上げに向けての熱い気持ちが感じられるトークでした。

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

他には、pyOpenSciのというオープンソースとオープンサイエンスに関するチームの紹介、Afro Pythonという黒人系のPythonコミュニティの紹介、オープンソースのプロジェクトに参加してもらうために気をつける点の紹介などがされていました。

PyLadies Auction

この日の夜はPyLadies Auctionに参加しました。このイベントはチャリティーオークションで、スポンサー企業などが提供したアイテムを参加者が競り合います。そして、落札した金額はそのままPyLadiesの活動資金として寄付されます。

Microsoft提供のキーボードと、PostgreSQL提供の編みぐるみ
Microsoft提供のキーボードと、PostgreSQL提供の編みぐるみ

筆者や周りの知り合いもなんとかオークションに参加しようとしますが、あっという間に金額が跳ね上がるため、全く落札できません。ただ、オークションの競り合いを見ているだけでもとても面白く、PyCon USでイチオシのイベントと言えます。

オークションでは結構悪ふざけしているアイテムもあり、この写真にはTimTamの4種セットが写っています。このセットはDjangoやBeeWareの開発者でもあるRussell Keith-Magee@freakboy3742氏がオーストラリアから持ってきたものだそうです。とはいえ、TimTamなんて別にアメリカでも売っているはずで、そのお菓子に100ドル以上の価格がついて落札されていました。それを見て「来年は日本から抹茶のキットカットを持っていくとウケるかも」といった話を日本メンバーでしていました。

オークションの様子
オークションの様子

他にもオークション後半ではアイテムを見せるカメラにたまたま映り込んだボールペンに対して、会場中から「ペン(を売れ⁠⁠!!」という声がかかり、急遽ペンのオークションが始まりました。単なるボールペンが300ドルくらいで落札されるのは、ここくらいじゃないでしょうか……。

Day 3の始まりもライトニングトークから

ここからはカンファレンス3日目(最終日)の様子をお届けします。朝はライトニングトークから始まります。3日目は夕方のライトニングトークはありません。

最初に毎回恒例のコミュニティライトニングトークが行われました。このライトニングトークでは、各国のPython関連のイベントについて各主催者が紹介します。1イベントについて30秒~1分程度でたくさんのイベントが紹介されました。

今年日本で開催されるPyCon APAC 2023についても、座長のSelina@selina787bさんが登壇して発表しました。

PyCon APAC 2023についての発表
PyCon APAC 2023についての発表

通常のライトニングトークではPyZombisというゾンビのためのPythonの教材の紹介がありました。この中でBrythonというWebブラウザで動くPythonの処理系を使っているようです。Brythonははじめて知りました。

Job FairとPoster Session

カンファレンス3日目はランチの前に少し長めに時間をとって、Job FairとPoster Sessionが開催されます。Job Fairは企業が集まってそこに仕事をしたい人が話をしに行くイベント、Poster Sessionはポスターを貼りだしてその前で発表やディスカッションをするというものです。

企業とポスターの一覧は以下のページから確認できます。

Job Fairは企業の担当者と直接話せる機会なので、アメリカを中心に仕事を探している人にはとてもよいイベントだと思います。企業担当者によると「今年は去年よりも本気の人が多い。レジュメ(経歴書)を持ってきている人も多い。」とのことです。少し前に大企業の人員削減があったので、その影響なのかも知れません。

Job Fairの企業リスト
Job Fairの企業リスト

ポスターを見て歩いていると他の参加者から声をかけられました。彼ら(Hassan氏、Haque氏)はPyCon JP 2019に5人で発表をしてくれたバングラデシュ出身チームのメンバーです2019年の発表⁠。彼らと遠くアメリカの地で再会できたことに、とても驚きました。

私と寺田さんを加えた4人で立ち話をしていると、PyCon JP 2022で発表してくれたインド出身のGajendra氏にも会うことができました2022年の発表⁠。

過去にPyCon JPに参加してくれた海外の方と、こんな感じで別の国のPyConで再会できるのも、Pythonでつながる縁だなと思います。Hassan氏、Haque氏は「PyCon JPにまた参加したい。お弁当がおいしかった。」と言っていました。海外の方の味覚でもPyCon JPのご飯はおいしいんだなと、再認識しました。

バングラデシュのHassan氏、Haque氏とインドのGajendra氏とともに
バングラデシュのHassan氏、Haque氏とインドのGajendra氏と

Keynote: Carol Willing

最後のキーノートはCarol Willing@WillingCarol氏によるトークです。Carol氏はPythonのコア開発者であり、PythonのSteering Counsilを3期務めた方でもあります。

このキーノートでは「Python: The Poeple's Programming Language(Python:人々のプログラミング言語⁠⁠」と題して「Connection、Communication、Scale」という3つのキーワードを中心に次の10年に向けた強靱なネットワークの作り方について語られました。

Carol Willing氏
Carol Willing氏

10年前の2013年にCarol氏は46歳で、当時はインターネット普及前のPCを使っており、スマートフォンより前にWorld Wide Webが普及している頃でした。Carol氏は当時ソフトウェア開発者の管理をしていたが、その仕事に意味が無いと感じ「技術者に戻ろう」と思ったそうです。自分の情熱と興味に従って技術者に戻り、自身に教育と学習が必要だと考えたそうです。

Connection

Carol氏がPythonを学び始めたときには一人だと感じていました。Pythonにはエコシステムがあり、PyPIには大量のパッケージがあります。また、Pythonは人々を興味によって結びつけ(Connect)モチベーションを高めます。1つの例として、Carol氏はmusic21という音楽に関するPythonライブラリを見つけました。そして実際に使ってみたコードを周囲に見せるということを始めたそうです。

また、実際のネットワークでは接続(Connection)を監視しますが、同じように人のネットワークも確認が必要だという話がありました。オープンソースの貢献者、メンテナーの燃え尽き症候群があります。⁠疲れていたら休みましょう」というメッセージがありました。

Communication

コミュニケーション(Communication)はメッセージをある場所から別の場所に届けることです。2016年のGuido氏は「プログラミング言語は、アイデアを(コンピューターにではなく)他のプログラマーに伝えるためにある。」という発言をしました。

また、PythonのコミュニティではMichael Kennedy氏がメッセージを流す役割を担っていると語られました。Michael氏はTalk Python To Meというポッドキャストで価値のあるメッセージを流しているそうです。興味のある方はぜひ聞いてみてください。

Pythonと他の言語とコミュニケーションをとるという話もありました。例として、FastAPIでAPI化してフロントエンドとコミュニケーションをとることや、PythonとRustやJavaScriptとの連携が今後増えると語られました。

他にも、Pythonの人々のネットワークは世界各地にあると述べられました。例として地域のPythonコミュニティ、PyLadies、Django Girsls、コア開発者、カンファレンス主催者グループが紹介されました。ネットワークをさらに広げるために、パックマンルールについても語られました(パックマンルールとは「立ち話をするときに1人分のスペースを空けておいて参加しやすくしましょう」というものです⁠⁠。

Scale

最後に規模の拡大(Scale)について語られます。Guido氏が学んだ最も大切なものは「共有すること」と紹介されました。Carol氏は小さなことから初めて大きくして(スケールして)いきましょうと語ります。

Scaleの例としてJupyter Notebookについて語られました(Carol氏はプロジェクトJupyterのSteering Councilでもあります⁠⁠。2014年のSciPyカンファレンスの基調講演ではLorena氏より「Jupyter Notebookは対話的なコンピューティングツールである」と語られました。

2014年当時GitHub上には65,000ほどのノートブックがありましたが、現在は1100万以上のノートブックがあるそうです(170倍!⁠⁠。また、当時はPythonやJupyter Notebookのインストールが難しかったため、JupyterHubBinderといったネットワーク上でJupyter Notebookを使えるようなサービスが提供され、それによって拡がっていったそうです。

他のScaleの例としてPyLadiesPSFが挙げられました。PyLadiesは発足当初は当然1組織だけでしたが、現在ではPyLadiesのチャプター(地域ごとの支部)は数え切れないほどあります。PSFも当初は規模の小さい組織としてスタートしており、継続的にPythonの言語の拡張、コミュニティの成長を促しています。

まとめ

トークの最後に聴衆に対して「Connection、Communication、Scaleを意識してPythonの国際的な人のネットワークを維持していきましょう」とメッセージが送られました。⁠人々のプログラミング言語」であるPythonが不確実な時代における人々の成功につながるはずです。

Day 1のNed氏のキーノートと対になっているようなメッセージだなと感じました。Pythonコミュニティがこれからもいい感じで継続していけるとよいなと思いましたし、筆者自身もその一部となってPythonネットワークの維持に貢献できるとよいなと感じました。そういった活動をPyCon JP Associationでも意識していきたいと思います。

Community Service Awards & Python Software Foundation Update

ここではPSF(Python Software Foundation)のExecutive DirectorであるDeb Nicholson@baconandcoconut氏からCommunity Service Awardsの表彰とPSFの状況について報告がありました。PSF Community Service Awardsはコミュニティに対して貢献した人を表彰する制度です。私が理事をしているPyCon JP Associationも2022年に表彰されています。

今年は長年のPSF Board(理事会)の活動により、Naomi Ceder氏がPSF Distinguished Service Awardsという特別な賞を受賞しました。

Deb Nicholson氏(左)とNaomi Ceder氏
Deb Nicholson氏(左)とNaomi Ceder氏

Guido van Rossum

最後に特別ゲストとしてGuido van Rossum@gvanrossum氏によるトークが行われました。トークの内容はPythonについてではなく、PyConについての回顧録でした。

PyCon USは2003年に第1回が開催されましたが、それよりも前のPythonに関する集まりから話が始まります。1994年に初めてのPython Workshopが開催され、参加者は2、30人程度です。イベントは成功したようで、継続的にWorkshopが開催されます。

以下のページで当時のPython Workshopの内容が確認できます。

Guido van Rossum氏
Guido van Rossum氏

4回目のPython Workshopから国際的なイベントとなり、100名ほどがカリフォルニア州リバモアに集まりました。このときからイベントの名称がInternational Python Conferenceとなりました。このイベントの記録は以下のページで参照できます。

並行してPythonの非営利組織としてPython Software Associationを立ち上げる動きが出ました。その後2001年に法人化され、現在のPSFとなっていきます。

International Python Conferenceは2003年が最後となります。O'Reillyが主催するOSCON 2003の中の1トラックとして開催しました。

2002年の年末にPerlコミュニティの主催者から電話があり、その内容は「Perlコミュニティのカンファレンスの会場をキャンセルしなければならない」というものでした。そして、その会場を予約し、2003年のPyCon USが開催されました。最初のPyConの記録は以下のページで参照できます。

最後にGuido氏から、PyConなどのイベントのChairは最もストレスの多い仕事であること、そして今までのChairへの感謝の言葉でトークは締めくくられました。

当初から現在までPythonの中心にいるGuido氏にしか語れない、PyConの歴史についての興味深い回顧録でした。

Closing

Day 3の最後はクロージングです。ChairのMariatta@mariatta氏からPyCon US 2023について報告がありました。登録者数は2,257名、バッジを印刷した人が2,159名、初参加者は1,672名(77%)とのことで、初参加者がとても多いと感じました。参加者数はPyCon 2022よりは増えてますが、COVID-19以前の3,000名規模までは戻っていないようです。

PyCon US 2023の参加者数
PyCon US 2023の参加者数

スポンサー収入は1,050,540.16 USD(約1億4300万円)とすごい金額です。また、PyLadies Auctionの寄付金額は35,746 USD(約486万円)でした。

そして最後に2024年、2025年の開催地ピッツバーグを紹介してイベントは終了しました。

クロージングの様子
クロージングの様子

Pythonアジアミーティング

カンファレンスは終了しましたが「アジアのPythonコミュニティを管理する組織が作れないか」ということで意見交換をする会が開催されました。オープンスペースで提供されている会場を使用して、各国Pythonコミュニティの主催者が集まって意見交換をしました。

ヨーロッパにあるEuroPython Societyなどを参考にして、アジア地域のPyConを主導する組織が作れないかという議論を行いました。どのような形の組織がよいのか、資金管理などを考えるとどの国に本部を置くのがよいのかといった課題に対して意見交換が行われました。

Pythonアジアミーティング
Pythonアジアミーティング

最後はピザとビール

ミーティング終了後はどこでご飯を食べようかと思っていましたが、韓国チームの仕切りでピザの店に行きました。ウェイトレスさんがちょっとボケていて、頼んだものと違うビールが出てきたりしましたが「まぁそんなもんか」と思いつつ、みんなでの最後の夕食を楽しみました。

最後はピザとビール
最後はピザとビール

こうしてPyCon US 2023の3日間のカンファレンスが終わりました。

スプリント

このレポートの最後にスプリントの様子をお届けします。スプリントは開発イベントで、Python関連のオープンソースプロジェクトのコントリビューター(貢献者)が集まって開発を行います。また、初心者がプロジェクトに参加する機会でもあります。

PyCon US 2023のスプリントは4月24日(月)〜27日(木)までの4日間開催されました。筆者は移動の関係でスプリント1日目の昼過ぎまでしか参加できませんでしたが、それでもいくつか出会いがあったので紹介したいと思います。スプリントについて詳細はPyCon USの以下のページを参照してください。

どんなプロジェクトがあるか

スプリント期間中はボードに「どの部屋でどのプロジェクトが開発をしているか」が書き出してあります。参加者はこのボードを見て興味のある部屋を訪れたり、フリースペースで自分の開発を進めたりできます。

ボードを見てみると、以下のようなプロジェクトが参加していることがわかります。

みなさんが知っているオープンソースのプロジェクトもあると思います。興味のあるプロジェクトはありますか?

また、当然ですがCPythonのスプリントもあります。

スプリントのボード
スプリントのボード

PyScriptのスプリントに参加

筆者はPyScriptのスプリントに参加しました。短い時間ではありますがPyScriptのGitHubを参照し、対応出来そうなissueがないかを確認しました。⁠対応しやすいissueにはgood first issueというラベルが付いているので、それを見るといいよ」という説明を受けました。

この前にgihyo.jpでPyScriptの記事を書いたときに、pyodide_httpの使い方についてドキュメントの間違いを見つけていました。このスプリントでその対応をしようと思っていましたが、すでに対応済みでした(まだリリースはされてなさそうですが⁠⁠。

他のissueを見てみましたが、ちょっと短時間では対応できそうな感じのものがなかったため、残念ながらissueの中身を確認するだけで終わってしまいました。

スプリントに参加したときに最初に説明をしてくれたFabio Pliger氏ですが、名札を見てみると「Creator of PyScript」と書いてあります。Fabio氏はPyScriptの作者であり、カンファレンス2日目に筆者もトークを聞きました。そこで「PyScriptについて日本語で記事を書いたんですよ」と、さきほどの記事を本人に紹介しました。Fabio氏からは「PyScriptを広める活動をしてくれてありがとう」と感謝をされました。

記事を書いておくことによって、この記事が名刺代わりになってよかったなと思いました。あとで英語に翻訳したURLを本人にも共有しておきました。チラ見してくれているとよいのですが。

PyScriptの作者のFabio氏と
PyScriptの作者のFabio氏と

時間になったので他のスプリント参加者に「移動なのでこれで失礼します。」とあいさつをし、記念撮影をしました。参加者の一人から「今度、大阪に行くので連絡先を教えて」と言われたので、連絡先を交換しました。連絡があったら大阪周辺のおすすめのお店情報を、大阪の人の知恵を借りて伝えたいと思います。

PyScriptのスプリント参加者
PyScriptのスプリント参加者

荷物をスタッフの本部で預かってもらっていたので、ピックアップしに行きました。そこにPSFスタッフのLorenさんやEeさんがいたので、最後にお別れのあいさつをしてPyCon USの会場をあとにしました。

まとめ

「PyCon US 2023」のレポートは以上です。2019年から4年ぶりに参加したPyCon USは、活気にあふれており、またAPACメンバーの結束もより強まって参加してよかったなと感じました。

筆者がPyCon JP Associationとして行っているYouTubeライブ、PyCon JP TVでもPyCon US 2023について紹介しています。一緒に参加した寺田さんの目線からの感想もあるので、ぜひご覧になってください。

また、レポート動画も別途まとめているので、そちらを見てみると現地の雰囲気がより伝わると思います。

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


PyCon US 2023のあと、筆者はカリフォルニア州のサンディエゴに移動しました。そして、カリフォルニアのいくつかのブルワリーでクラフトビールを飲みつつ、LEGOLAND CaliforniaDisneyland Park(主にスターウォーズ)に遊びに行きました。San Diego→Carlsbad→Anaheim→Los Angelesと移動が激しくハードな旅でしたが、こちらもとても楽しい体験でした。旅の様子はTogetterにもまとめたので、興味のある方は見てみてください。

First Order stormtrooperと記念撮影
First Order stormtrooperと記念撮影

おすすめ記事

記事・ニュース一覧