はじめてBiocondaにパッケージ登録をした話
3行まとめ
- Biocondaの登録は思ったよりも簡単でした
- Gitが不慣れのためにつまずくところがありました
- Biocondaサポートメンバーが親切にガイドをしてくれます。感謝しかありません🙇
はじめに
先日、Pythonの習作を兼ねて3つほどBiocondaにコマンドラインツールを登録しました。
思った以上に簡便に登録できましたが、いくつか(とくにGitの知識不足で)やり直したところがあったため、備忘録です。
今回登録したパッケージは以下の3つです。
Biocondaとは
Biocondaはパッケージ管理システムのcondaにあるチャンネルのひとつで、名前のとおり生物情報学関連のソフトウェアが登録されています。
samtoolsなどの超有名ツールもbiocondaに登録されています。
どうしてBiocondaに登録したのか
Pythonでのソフトウェア開発は初めてだったので、PyPIおよびBiocondaの登録をひとつの目標にしました。
(BiocondaはPython以外のツールも登録できますが、おもにPyPIからの登録を想定しているようです。)
せっかくツールを開発するのだからできるだけインストールの負担を減らしたい、というのも理由のひとつです。
どうやって登録するのか
基本的にはBiocondaの公式ドキュメントに従います。
私が取り組んだのはこのうちのInitial Setup
とContribution Workflow
の2つです。
つまずいたところ
fork先のリポジトリがアップデートできなかった
Biocondaのドキュメントには、fork先のリポジトリを最新版にする指示があります。
# Make sure our master is up to date with Bioconda
git checkout master
git pull upstream master
git push origin master
これをやってAlready up to date
と確認しても、なぜか新しく登録されたパッケージが更新されておらず、レビューワーから「ほかのリポジトリを削除しているよ」との忠告を受けました。
コメントのとおりgit rebase
にも取り組んでは見たものの、Git力が足りず解決できそうになかったため、一番はじめのforkするところからやり直しました。
Take home messagesです。
*こちらはダメな例です (Files changedが12)。
meta.yamlの書き方
meta.yaml
を編集しますが、初めてなのでよくわからないまま編集していました。
デフォルトで生成されるmeta.yaml
について、下記の点を変更すれば問題なく通るようになりました。
1. 空白の情報はきちんと削除する
doc_url
やdev_url
など、削除して大丈夫です
2.build
にnoarch: python
をつける (Python製の場合)
CircleCIによる自動テストではnoarch: generic
をオススメされますが、レビューワーからはnoarch: python
への変更を求められました
3.about
のsummary
には十分かつ簡潔な記載をする
簡単でも冗長でも好まれません。(こちら)
コマンドのコピペミスに注意
そうそうないケースかと思いますが…
CircleCIによる自動テストをパスすると、レビューを頼むために@BiocondaBot please add label
というコマンドを入力します。
はじめてこれをしたとき、操作ミスで@BiocondaBot
とplease add label
の間に改行を入れてポストしてしまいました。
1時間ほど待ってもラベルが付与されなかったので、やり直したところ10秒ほどでplease review & merge
というラベルがつきました😇
@BiocondaBot
はボットなので、当然ですがうまく行けばすぐに反応が返ってくるので、1分待っても反応がない場合には操作ミスを疑ってやり直すのが懸命です…
おわりに
Biocondaへの登録はオープンソースに貢献するはじめの一歩としてとても有用だと思いました。
自分自身の勉強の動機づけとしても、ちょうどよい難易度でした。
右も左もわからずに不安でしたが、Biocondaのレビューワーの方々のチェックがあるため(おそらく)大惨事には至りません。
ご対応いただいたレビューワーには感謝しかございません🙇
Discussion