- pandas にプルリクエスト (PR) を送りたい
-
GitHubの pandas リポジトリを開く
-
右上にある "Fork" ボタンを押す
-
自分のアカウントにフォークされたリポジトリを、ローカルにクローン
https://github.com/yourgithubaccount/pandas
$ git clone [email protected]:yourgithubaccount/pandas.git
-
Difficulty Novice
-
Effort Low
着手すると決めた issue はホワイトボード(あれば)で周知
- pandas-dev/pandas#17096
- documentのリファクタリング。他のコードで
_shared_doc
を使っているところの書き方を参照
- documentのリファクタリング。他のコードで
- pandas-dev/pandas#15752
- テストの追加
- pandas-dev/pandas#15610
- ドキュメントの追加
- pandas-dev/pandas#14350
- エラーメッセージの修正
- pandas-dev/pandas#14197
- 欠損値をマスク?
- pandas-dev/pandas#13257
.format
でなんとかする
- pandas-dev/pandas#17912
- pandas-dev/pandas#17935
- pandas-dev/pandas#17572
- pandas-dev/pandas#17775
- まずはブランチを切る
$ git checkout -b whateveryoulike
-
直す場所を探す (おそらくこの辺)
core
: メインのロジックが集中core/frame.py
:DataFrame
core/series.py
:Series
core/indexes/*.py
: 各種Index
core/groupby.py
:group_by
core/reshape/*.py
: 変形 (ピボット、マージ等)
io
: 入出力関連 (Excel, CSV...)tseries
: 時系列周り
-
コードを直す
- できるだけ NumPy や pandasに定義済みの関数を使って書く (よく使うのはこの辺)
pandas/core/common.py
pandas/core/dtypes/*.py
- 10分ほど考えてわからなければ聞いてください
- できるだけ NumPy や pandasに定義済みの関数を使って書く (よく使うのはこの辺)
-
テストを書く
- 既存のテストが何処かにあるので検索して追加
pandas/tests
あたり
- テスト用の
assert_*
関数を使うpandas/util/testing.py
assert_index_equal
:pd.Index
の比較assert_series_equal
:pd.Series
の比較assert_frame_equal
:pd.DataFrame
の比較assert_raises_regex
: 異常ケースで期待するエラー/エラーメッセージが発生するかチェックassert_produces_warning
: 期待する警告が発生するかチェック
- テストには issue 番号をコメントで書いたほうがよい (
# GH 10000
など)
- 既存のテストが何処かにあるので検索して追加
-
リリースノートを書く
doc/source/whatsnew/0.21.0.txt
- 他のリリースノートの記載に合わせる。文末の番号は Issueの番号
- バグ修正の場合、何の機能を使ったときにどういった問題が起きていたかを書く
- ビルド確認は doc/make.py (環境によっては sudo が必要)
- リリースノートに一行追加する程度であれば、ビルドせず目視確認でもOK (リリース前にまとめてフォーマットを直すので)
-
修正をコミットする
- メッセージのサンプルは他のプルリクエストを参照
$ git commit -a -m 'yourcommitmessage'
-
GitHub側
- 自分のアカウントにフォークされたリポジトリのタブ右側にある "Settings" を開く
- "Integration & Services" -> "Add service" から "Travis CI" を追加
-
Travis CI側
- https://travis-ci.org/
- Accounts の画面で、自分の pandas リポジトリのテストを有効に (スライドバー)
- 表示されていなければ "Sync account" する
$ git push origin yourbranchname
- Travis CIでテストが実行されていることを確認する。結果を待つ (30分ほど)
- "New pull request" ボタン
- 書き方は他のプルリクエスト参考。必ず元となった issue へリンクを貼る (マークダウンで
#1111
のように番号を書けばリンクになる)