🐍

PyCon APAC 2023のスプリントにテーマを持ち込んで参加した話

2023/11/25に公開

はじめに

PyCon APAC 2023のスプリントに参加してきました!
スプリントに自作ライブラリをテーマとして持ち込んでスプリントリーダーとして参加した話をスプリント参加前と当日、後日談の3部構成で書きました。

PyCon APAC 2023について

https://2023-apac.pycon.jp/
公式サイトより引用
PyCon APACは、プログラミング言語「Python」を中心としたボランティアによる非営利の年次カンファレンスです。このカンファレンスの目的は、Pythonプログラミング言語とその周辺技術を探求し、議論・実践できる場を提供することです。運営チームは、アジア太平洋地域における国または地域が主体となり、現在では、シンガポール、マレーシア、インドネシア、フィリピン、タイ、韓国、香港、ベトナム、日本、台湾、インド、バングラデシュが毎年交代して開催され、2023年は日本のメンバーが主体となり運営します。そして、日本での開催は2013年以来の10年ぶりとなります。

スプリントについて

https://pyconjp.blogspot.com/2023/10/pyconapac2023-sprints.html
PyCon JP 公式ブログより引用
スプリントは多くのPyConでカンファレンスのあとに開催される、開発イベントです。さまざまなPython関連の開発プロジェクトがスプリントのテーマとしてあるので、興味のあるテーマに参加したり、自分でテーマを立ち上げてメンバーを募集できます。

顔を合わせて一緒に開発したり、意見交換をすることができます。普段開発に不慣れな人も、初心者向けに簡単な課題を用意しているスプリントなどもあるので、ぜひ参加してみてください。

対象読者

PyConのスプリントへの参加を検討されている方
Pythonの自作ライブラリの開発を進めたい方

スプリント参加前

当初のモチベーションですが、PyCon開催前に公開されたタイムテーブルを見て予習も兼ねて何か作ろうとしていました。
かねてより興味のあったOSSへの貢献に関するセッションも複数あったため、ライブラリを作成して公開することにし、2日くらいでPyPIへ公開しました。
初回のPyPI公開時点ではテストはおろかドキュメントすら書いておらず、単一の機能のみを提供していました。

作成したライブラリはPyPIで公開されています。
GitHubリポジトリはこちらです。

https://pypi.org/project/jismeshcode/
https://github.com/itch0323/jismeshcode

ライブラリの詳細については別の記事に書きました。
https://zenn.dev/itch/articles/950f25f301d325

スプリント当日

PyCon開催前にスプリントでのテーマ募集の案内がありましたが、案内があった時点ではそもそもライブラリが完成していなかったため当日持ち込みで参加しました。
スプリントでは、最初にスプリントリーダーがテーマの説明とスプリントで取り組みたい内容について説明し、参加者を募ります。
自分が説明した際は次のように話しました。
テーマ説明:地域メッシュコードからGISデータに変換するライブラリを作成
スプリントで取り組みたい内容:ドキュメントの作成とテストの作成

振り返ると当日はかなりたどたどしい説明をしていたと思うのですが、2人の方に興味を持っていただき、当日は3人でチームを組んでスプリントに取り組みました。

ライブラリの作成の背景や機能の詳細について2人に説明したあと、ドキュメントの作成とテストに関する取り組み内容の分担を行いました。
私自身PyPIへのライブラリ公開自体も初、テストも書いたことがない状態だったため、作業を進めるうえでプロジェクト管理やテスト、機能の名前についてチームの2人から学ぶことはかなり多かったです。
スプリント中でライブラリの名前が変わったり、関数名も話し合って決めたりと、スプリントでしか得られない体験がありました。

別件で予定があったため、スプリントそのものを途中で抜けたのですが、当日の進捗としてドキュメントやテストの作成のみならず、CIが走る段階まで進んでいてとても感動しました…!

後日談

新しいコントリビュータによる機能追加やテストケースの追加が行われたり、関数の細分化を行ったりし、ゆるやかに開発が進んでいます。
機能の正確さが保証されていなければいけない機能をもつライブラリであるため、CIが走っていることによる恩恵は非常に大きいです。

まとめ

PyCon APAC 2023のスプリントに参加したことでライブラリの設計や機能のテストへの考え方が身に付くなど、Pythonエンジニアとしてとても良い体験ができました。

2人のおかげでテーマとして持ち込んだライブラリも作成当初から内容が大きく充実しただけでなく、今後の機能追加のハードルも大きく下がりました。
とても感謝しています!ありがとうございました。
また、PyCon APACを主催していただいた方々にも感謝いたします。

来年のPyCon JPに参加される方はぜひスプリントも参加してみてください~🙌

Discussion