Flaskに貢献する方法
Flaskへの貢献を検討していただきありがとうございます!
サポートの質問
これには課題追跡システムを使用しないでください。 課題追跡システムは、Flask自体のバグや機能リクエストに対処するためのツールです。 Flaskの使用に関する質問や独自のコードの問題については、次のいずれかのリソースを使用してください。
- Discordチャットの
#questions
チャネル: https://discord.gg/pallets - 長期的な議論またはより大きな問題のためのメーリングリスト [email protected] 。
- Stack Overflow について質問してください。 最初に使用してGoogleで検索:
site:stackoverflow.com flask {search term, exception message, etc.}
- GitHubディスカッションで質問してください。
問題の報告
投稿に次の情報を含めてください。
- 何が起こると思ったか説明してください。
- 可能であれば、問題の特定に役立つ最小限の再現可能な例を含めてください。 これは、問題が自分のコードにあるのではないことを確認するのにも役立ちます。
- 実際に何が起こったのか説明してください。 例外があった場合は、完全なトレースバックを含めます。
- PythonとFlaskのバージョンを一覧表示します。 可能であれば、この問題が最新のリリースまたはリポジトリ内の最新のコードですでに修正されているかどうかを確認してください。
パッチの送信
提出したいものに未解決の問題がない場合は、PRに取り組む前に、議論のために問題を開くことをお勧めします。 オープンPRがリンクされていない、またはメンテナが割り当てられていない問題に取り組むことができます。 これらはサイドバーに表示されます。 興味のある問題に取り組むことができるかどうかを尋ねる必要はありません。
パッチに以下を含めます。
- 黒を使用してコードをフォーマットします。 以下の手順で pre-commit をインストールすると、このツールやその他のツールが自動的に実行されます。
- パッチがコードを追加または変更する場合のテストを含めます。 パッチなしでテストが失敗することを確認してください。
- 関連するドキュメントページとドキュメント文字列を更新します。 ドキュメントページとドキュメント文字列は72文字で折り返す必要があります。
CHANGES.rst
にエントリを追加します。 他のエントリと同じスタイルを使用します。 また、関連するdocstringに.. versionchanged::
インライン変更ログを含めます。
初めてのセットアップ
最新バージョンのgit をダウンロードしてインストールします。
-
$ git config --global user.name 'your name' $ git config --global user.email 'your email'
GitHubアカウントを持っていることを確認してください。
フォークボタンをクリックして、GitHubアカウントにフラスコをフォークします。
クローンメインリポジトリをローカルに。
$ git clone https://github.com/pallets/flask $ cd flask
フォークをリモコンとして追加して、作業をプッシュします。
{username}
を自分のユーザー名に置き換えます。 これはリモートに「フォーク」という名前を付けます。デフォルトのパレットリモートは「origin」です。$ git remote add fork https://github.com/{username}/flask
virtualenvを作成します。
pipとsetuptoolsをアップグレードします。
$ python -m pip install --upgrade pip setuptools
開発の依存関係をインストールしてから、Flaskを編集可能モードでインストールします。
$ pip install -r requirements/dev.txt && pip install -e .
事前コミットフックをインストールします。
$ pre-commit install
コーディングを開始する
作業したい問題を特定するためのブランチを作成します。 バグまたはドキュメントの修正を送信する場合は、最新の「.x」ブランチから分岐してください。
$ git fetch origin $ git checkout -b your-branch-name origin/2.0.x
機能の追加または変更を送信する場合は、「メイン」ブランチから分岐します。
$ git fetch origin $ git checkout -b your-branch-name origin/main
お気に入りのエディターを使用して、コミットしながら変更を加えます。
行ったコード変更をカバーするテストを含めます。 パッチなしでテストが失敗することを確認してください。 以下の説明に従ってテストを実行します。
コミットをGitHubのフォークにプッシュし、プルリクエストを作成します。 プルリクエストの
fixes #123
で対処されている問題へのリンク。$ git push --set-upstream fork your-branch-name
テストの実行
pytestを使用して基本的なテストスイートを実行します。
$ pytest
これにより、現在の環境のテストが実行されます。通常はこれで十分です。 プルリクエストを送信すると、CIは完全なスイートを実行します。 待ちたくない場合は、toxを使用して完全なテストスイートを実行できます。
$ tox
テストカバレッジの実行
テストカバレッジのない行のレポートを生成すると、どこから貢献を開始するかを示すことができます。 coverage
を使用してpytest
を実行し、レポートを生成します。
$ pip install coverage
$ coverage run -m pytest
$ coverage html
ブラウザでhtmlcov/index.html
を開き、レポートを調べます。
カバレッジの詳細をご覧ください。
ドキュメントの作成
Sphinxを使用して、docs
ディレクトリにドキュメントを作成します。
$ cd docs
$ make html
ブラウザで_build/html/index.html
を開いて、ドキュメントを表示します。
Sphinx の詳細をご覧ください。