開発者ページ¶
このページでは、パッチ、統計テスト、新しいモデル、またはサンプルを送信することによって、統計モデルの開発に貢献する方法について説明します。
statsmodels は、 Git バージョン管理システムを使用して Github 上で開発されています。
バグレポートの送信¶
問題を再現する短い自己完結型のコード スニペットを含めます
使用するstatsmodelsのバージョンを指定します。これは ``sm.version.full_version'' で指定できます
問題が他の依存関係に関係しているように見える場合は、
sm.show_versions()の出力も含めてください
コードを変更する¶
まず、gitバージョン管理システムの紹介について Working with the statsmodels Code セクションを参照してください。
プル リクエストが受け入れられるには、以下の要件を満たす必要があります。これは、ソフトウェアの保守とリリースを共同作業で行う作業に非常に役立ちます。
1 ブランチ 1 機能。 ブランチのコストは低く、githubでは数回のクリックでブランチをマージしたり削除したりすることが簡単にできます。可能であれば、機能に取り組むときに、無関係な変更を大量にまとめてしまう誘惑を避けてください。これは、リリースを準備するときに何が変更されたかを追跡するのに役立ちます。
コミットメッセージは明確で簡潔である必要があります。これは、80文字未満の件名行と、必要に応じて空白行の後にコミットメッセージ本文が続くことを意味します。私たちには、遵守しようとする informal commit format standard があります。これが実際にどのように見えるかは、
git log --oneline -n 10で見ることができます。コミットが特定の問題を参照またはクローズする場合は、 commit message で言及することでクローズできます。( メンテナーに向けて :これらの提案はマージコミットコメントにも適用されます。これらは部分的にリリースノートの記録です。)コードの提出には必ずテストを含める必要があります。テストに関するメモを参照してください。
各関数、クラス、メソッド、および属性は、docstring を使用して文書化する必要があります。私たちは numpy docstring standard に準拠しています 。
新しい機能を追加する場合は、
docs/sourceで適切なファイルを編集(または作成)して、ドキュメントに追加する必要があります。ドキュメントの変更が正しく解析されていることを確認してください。最上位の
docs/ディレクトリに移動し、次のように入力します:make clean make html変更による警告がビルド出力に表示されないことを確認してください。
ドキュメントを生成するには追加の依存関係が必要です。詳細については
docs/README.mdを参照してください。可能な限り PEP8 スタイルのガイドラインに従ってください。
LINT=true ./lint.shを実行してコードを lint します。git diff upstream/mainを実行して、変更内容とmainの内容を比較します。最後に、変更内容をリリースノートに追加してください。次のリリースのバージョン番号が記載されている
docs/source/release/versionX.X.rstファイルを開き、適切なセクションに変更内容を追加してください。
プルリクエストの送信方法¶
statsmodels にパッチを送信したいあなた、githubにあまり詳しくないですか? 必要な手順を次に示します。
Githubの statsmodels repository を フォークします 。
新しい機能ブランチを作成します 。各ブランチは、単一の新しい機能またはバグ修正を備えた自己完結型である必要があります。
テストスイートが合格することを確認してください。これには、Python 3 でのテストが含まれます。これを行う最も簡単な方法は、プル リクエストを作成し、ボットにチェックさせることです。これには時間がかかる可能性があり、修正や機能強化が不明な場合は、ローカルで pytest を実行することをお勧めします。
プル リクエストは、コードベースに受け入れられる前に徹底的にレビューされます。プル リクエストが古くなった場合は、中央リポジトリ内の最新バージョンにプル リクエストをリベースします。
メーリングリスト¶
開発に関する会話は statsmodels mailing list で行われます。
ライセンス¶
statsmodels は、 修正 (3 条項) BSD ライセンス に基づいてリリースされています。