Flaskに貢献する方法—Flaskのドキュメント

提供:Dev Guides
< FlaskFlask/docs/2.0.x/contributing
移動先:案内検索

Flaskに貢献する方法

Flaskへの貢献を検討していただきありがとうございます!

サポートの質問

これには課題追跡システムを使用しないでください。 課題追跡システムは、Flask自体のバグや機能リクエストに対処するためのツールです。 Flaskの使用に関する質問や独自のコードの問題については、次のいずれかのリソースを使用してください。


問題の報告

投稿に次の情報を含めてください。

  • 何が起こると思ったか説明してください。
  • 可能であれば、問題の特定に役立つ最小限の再現可能な例を含めてください。 これは、問題が自分のコードにあるのではないことを確認するのにも役立ちます。
  • 実際に何が起こったのか説明してください。 例外があった場合は、完全なトレースバックを含めます。
  • PythonとFlaskのバージョンを一覧表示します。 可能であれば、この問題が最新のリリースまたはリポジトリ内の最新のコードですでに修正されているかどうかを確認してください。


パッチの送信

提出したいものに未解決の問題がない場合は、PRに取り組む前に、議論のために問題を開くことをお勧めします。 オープンPRがリンクされていない、またはメンテナが割り当てられていない問題に取り組むことができます。 これらはサイドバーに表示されます。 興味のある問題に取り組むことができるかどうかを尋ねる必要はありません。

パッチに以下を含めます。

  • を使用してコードをフォーマットします。 以下の手順で pre-commit をインストールすると、このツールやその他のツールが自動的に実行されます。
  • パッチがコードを追加または変更する場合のテストを含めます。 パッチなしでテストが失敗することを確認してください。
  • 関連するドキュメントページとドキュメント文字列を更新します。 ドキュメントページとドキュメント文字列は72文字で折り返す必要があります。
  • CHANGES.rstにエントリを追加します。 他のエントリと同じスタイルを使用します。 また、関連するdocstringに.. versionchanged::インライン変更ログを含めます。

初めてのセットアップ

  • 最新バージョンのgit をダウンロードしてインストールします。

  • ユーザー名メールを使用して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 の詳細をご覧ください。