概要
バックエンド開発者のnakatomotoiです!
今回はpandasにコントリビュートした話をまとめたいと思います。
pandas とは?
pandasはPythonで利用されるライブラリで、データ分析の場面でよく使われるものです。
機械学習のコード等でよく使われており、Githubのstar数は34kを超えています。
step1. issueを探す
まずは対応するissueを探しましょう。
pandasでは3k以上のissueがあり、中には対応が簡単なものもあります。
今回は最初のコントリビュートということで、good first issue
のタグから探しました。
(簡単なやつは結構競争率高いです)
step2. 対応方針を決める
issueを選んだらどのように対応するか方針を固めましょう。
今回のissueでは、空パケットのデータフレームを読み込むときにエラーが発生するという問題が指摘されているようです。
問題自体の対応は別PRで既に行われているようなので、テストケースを追加する必要がありそうです。
import pandas as pd
df = pd.DataFrame({"value": pd.array([], dtype=pd.Int64Dtype()})
df.to_parquet("/path")
df2 = pd.read_parquet("/path")
...
ValueError: need at least one array to concatenate
対応方針については質問を投げたら丁寧に回答もらえました。
step3. PRを作成する
対応がわかったので、早速PRを作成しましょう。
OSSではコントリビューター向けにドキュメントがあるため、一読してから取り組みます。
step4. レビューを元に修正する
PRを作成すると、レビューをしてもらえるのでコメントを基に修正していきます。
時差の関係で夜中にコメントが入ることもありますが、なるべく早く対応していくとよさそうです。
pandasくらいの大きいライブラリだと、しばらくレビューもらえないこともあるみたい…
まとめ
step 1~4 を経て、無事PRマージされました!
普段ライブラリは使う側ですが、OSSを通してコミュニティに微力ながら貢献できました。
思ったほどハードルの高いものではないので、これを読んだ初学者〜中級者の方も積極的にOSSコントリビュートしていきましょう!