はじめに
ういっすー!✌️ nikkieです。
10/16(日) PyCon JP 2022 Day 3 Sprintでのもくもく(1人)チームの活動報告です。
スプリントリーダーができるほど、関わっているプロジェクトのリポジトリを整理できていなかったので、ソロでもくもく参加していました。
スプリントリーダーの方と実施内容ツイート中です! #pyconjp pic.twitter.com/p2Wn0ndT3t
— PyCon JP (@pyconjapan) 2022年10月16日
目次
- はじめに
- 目次
- PyCon JP 2022 Developer & Community Sprint
- nikkieは何しにスプリントへ?
- やったこと
- すごくよかったこと:リポジトリメンテナンスのヒント見つかる
- 終わりに
PyCon JP 2022 Developer & Community Sprint
この特定のプロジェクトに興味がある開発者同士がオフラインで集まって、短時間で素早く進捗を出す開発ミートアップを実現するために、スプリントやハッカソンと呼ばれる方法が生まれました
また、今回のスプリントではPythonコミュニティの活動も行うことができます。
PyCon JP 2019以来のスプリントです!
nikkieは何しにスプリントへ?
みんなのPython勉強会の作業やSphinx拡張自作、speech_recognitionのメンテナ活動のもくもくします。
みんなのPython勉強会の作業やSphinx拡張自作、speech_recognitionのメンテナ活動のもくもくします。PyCon JP 2022 Developer & Community Sprint... https://t.co/BQcvr7bm9E #pyconjp
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月15日
数日ぶりにコードを触るということで、朝の一枚は(技術者としてもマジリスペクトな)りなりー📸
#pyconjp 今日はスプリント!
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
2日間コード書いてないのでうずうずうずうず。
コントリビュータ始めたOSSリポジトリあるのですが、チームでやる足回りがまだ整ってないので、今回はもくもく予定です
写真は舞台めぐり製 pic.twitter.com/VM69w2lHeY
やったこと
sphinx.ext.githubpages
活用
「Sphinx拡張自作したい」の背景
「sphinx-revealjs製のスライドをGitHub Pagesで公開するときの.nojekyll
のtouch
、絶対どこかで忘れるので不要にする拡張を自作したいなー(でも手を動かす時間がない)」とここ数ヶ月感じていました。
Sphinx本体にはsphinx.ext.githubpages
という拡張があり、これを有効にするとmake html
でビルド成果物が置かれるディレクトリに.nojekyll
も配置されます。
「sphinx-revealjsでも同じ動きをさせたい」と自作を考え始めました。
Day 1にattakeiさんのSphinx拡張の話があり、その資料に目を通していたのもあってスプリントで開発する気でいました。
sphinx-revealjs製のスライド公開もsphinx.ext.githubpages
におまかせ
#pyconjp スプリントプチ成果!@attakei さんによるsphinx-revealjsで作ったスライドをGitHub Pagesとして公開するときに置きたい .nojekyll 、
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
これはtouchしなくてもsphinx.ext.githubpagesを有効にするだけで自動で作られることがわかりました(自作しないで済んだ🙌)https://t.co/e9X3JhtNMZ
結論から言うと自作は不要でした。
ソース1を読む中で、「私が拡張実装しなくても設定でいけるのでは」と気付き、設定したところmake revealjs
でも無事.nojekyll
が配置されました🙌
これが可能なのはsphinx-revealjsのビルダーがSphinxのHTMLのビルダーを継承している2ためです(詳しい話はまたの機会に別記事で)。
Python Boot Campのページのカスタムドメイン設定もsphinx.ext.githubpages
でできた!
sphinx.ext.githubpages
のソースをさらに読む3と、GitHub Pagesでカスタムドメインを設定する際に置かれるファイルCNAME
も置けそうな雰囲気です。
conf.py
にhtml_baseurl
変数4を追加すると、make html
でCNAME
も配置されました!
#pyconjp スプリントにてGitHub Pagesのカスタムドメイン用のCNAMEをsphinx.ext.githubpagesでサクッと対応done
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
数行の設定で済むなんて、Sphinxのこれまでの開発者の方々が素晴らしすぎます!👏
📣みなさま、Python Boot Campをよろしくお願いします!https://t.co/aw7yzSOIk3 https://t.co/VkzW0YibpO
これにより、以下のIssueへの対応が完了しました🙌
みんなのPython勉強会スタッフ活動
#pyconjp スプリント進捗。
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
みんなのPython勉強会 #stapy のスタッフ活動も少しやりました〜
みんなのPython勉強会はオンラインで毎月やってます!
11月は10日(木)で準備中です。
ご参加お待ちしています〜
アンケート類に回答!
#pyconjp スプリントデー進捗
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
* connpassから送られてきたアンケートに回答しました
* お手伝いした範囲でスタッフ活動のふりかえりを記入しました
「ダイバーシティ & インクルージョン (D&I)」のアンケートのほか、
PyCon JP 2022 Closingで紹介した「PSF Memberへの登録」はこちら https://t.co/myVQ21szC8
— Takanori Suzuki (@takanory) 2022年10月15日
「ダイバーシティ & インクルージョン (D&I)」のアンケートはこちら https://t.co/WF6zVXUaOa #pyconjp
connpassからPyCon JP 2022の参加アンケートが送られてきてますよ〜。
(「PSF Memberへの登録」もよろしければ)
TogetterにPyCon JP 2022のスライドまとめ
#pyconjp 2022 スプリントにて、発表者が投稿したスライドのツイートをまとめました!
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
漏れなどあれば @ftnext までお気軽にお知らせください「PyCon JP 2022 発表資料に飛べるツイートまとめ」 https://t.co/4ka4ifOMO9
直近参加したカンファレンスでは、Qiitaに「発表資料に飛べるツイートまとめ」を作っています5が、これは「ツイート数が増えると読み込みが遅い」という感覚がありました。
そこで今回は経験の少ないTogetterにまとめてみています6。
後半になってくると、頭があんまり働いていなくて生産性いまひとつな感覚があったのでspeech_recognitionのメンテナ活動は今回はお休みしました。
休憩時間にはブログチェック
ちょっと息抜きしたくなったら、(素晴らしい景色を眺めるほか)#pyconjp ハッシュタグをたどって見つけたブログを読んで、いいね・はてなスター・RTなどなど、「いいわいいわ!」と一人盛り上がっておりました。
私自身繰り返し読みたいと思ったのでまとめちゃいました!
すごくよかったこと:リポジトリメンテナンスのヒント見つかる
成果発表で素敵な出会い🌟がありました。
私はspeech_recognitionライブラリ7のコントリビュータを始めた(Issueを閉じたり、プルリクをマージしたりする権限がある)のですが、どう進めていけばいいか皆目見当が付いていない状態です。
「なにかヒントが得られたら」と思っていましたが、Issueのラベル付けについて真似したいリポジトリが見つかりました!
- 機能(zip圧縮/解凍)のラベルがあり、どの機能についてのIssueか分かる
- ステータスについてもラベルではっきりさせている(起票者に情報を求めている、起票者の環境で直ったことの確認待ち)
ラベルでのIssueのトリアージの仕方、そしてGitHub Actionsでの自動化の仕方、参考になります!
お話させていただき、ありがとうございました。
終わりに
10/14(金)からの3日間、久々のオンサイトイベントでとっても充実、そしてクタクタです。
カンファレンスだけからではなくスプリントでも刺激をいただき、開発欲がめちゃくちゃ高まっています。
3日間、ありがとうございました!
Pythonの秋はこれからだ!
登壇報告などなどPyCon JP 2022関連は何回かに分けてアウトプットしようと思います〜
#pyconjp きたーく!
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月16日
3日間でお会いした皆さま、誠にありがとうございました!❤️
またどこかのPythonイベントでお会いしましょう👋
最後はこれと決めていた、舞台めぐりで撮影 pic.twitter.com/GG07WpHLny
-
https://github.com/sphinx-doc/sphinx/blob/v5.2.3/sphinx/ext/githubpages.py#L13-L14↩
-
https://github.com/attakei/sphinx-revealjs/blob/v2.2.0/sphinx_revealjs/builders.py#L23↩
-
https://github.com/sphinx-doc/sphinx/blob/v5.2.3/sphinx/ext/githubpages.py#L16-L24↩
-
https://www.sphinx-doc.org/ja/master/usage/configuration.html#confval-html_baseurl↩
-
↩#xpjug 1日楽しかったです!ありがとうございました!
— nikkie にっきー 🎤10/1 XP祭り 10/14-15 PyCon JP (@ftnext) 2022年10月1日
Twitterで見かけた発表資料ツイートまとめです〜https://t.co/3aeYPoyJna
やってみて思ったのですが、おそらく読み込みに行くツイートが多い関係でカードとしての展開が遅いので、ツイートまとめはQiitaよりTogetterが向くかもしれないですね -
このブログのシオン・プロジェクトシリーズで使ったこともあるライブラリです(「喋った内容をプログラムに認識してもらいたい!」というアイデアをPythonで手早く検証する - nikkie-ftnextの日記)。というか実質シオンですね(そう考えるとモチベがむくむく湧いてきます)↩