mcpField
P
Python project template

Python project template

ローカル
github.com/rohanjoackhim開発ツール083 週間前に更新

Python project template について

Python 開発者向けのプロジェクトテンプレートです。コードチェック、整形、テスト、カバレッジ、CI に加え、devcontainer と pre-commit フックを備えています。

主な機能

  1. 01Ruff によるコードチェック
  2. 02Black による整形
  3. 03Pre-commit フック
  4. 04Pytest とカバレッジ
  5. 05GitHub Actions のチェック
  6. 06Python devcontainer

活用シーン

  1. 01Python プロジェクトの開始
  2. 02テストとカバレッジの実行
  3. 03コミット前のコード規約チェック

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Python プロジェクトテンプレート

以下の開発ツールを備えた、あらゆる Python プロジェクト向けのテンプレートリポジトリです。

  • ruff:多くのエラーやスタイル上の問題を検出します(flake8、isort、pyupgrade)
  • black:コードを自動でフォーマットします

これらのチェックは、pre-commit ライブラリを使って pre-commit フックとして実行されます。

テスト用の pytest と、カバレッジを測定する pytest-cov プラグインも含まれています。

すべてのチェックとテストは、プルリクエストの作成時と main へのマージ時に GitHub Actions で実行されます。

このリポジトリは Python 3.11 用に設定されています。バージョンを変更するには:

  1. .devcontainer/devcontainer.json の image 引数を変更します(ビルド済み Docker イメージの一覧は https://github.com/devcontainers/images/tree/main/src/python をご覧ください)
  2. .precommit-config.yaml の設定オプションを変更します
  3. .github/workflows/python.yaml のバージョン番号を変更します

開発手順

devcontainer を使う場合

このリポジトリには devcontainer(Docker 化された Python 環境)が付属しています。Codespaces で開くと、devcontainer が自動的に初期化されます。

ローカルでは、Dev Containers 拡張機能をインストールした VS Code で開けます。

devcontainer を使わない場合

devcontainer を使えない場合、または使いたくない場合は、まず仮想環境を作成してください。

python3 -m venv .venv
source .venv/bin/activate

次に、開発ツールと pre-commit フックをインストールします。

python3 -m pip install --user -r requirements-dev.txt
pre-commit install

コードとテストの追加

このリポジトリには、非常にシンプルな main.py と、それをテストする tests/main_test.py が用意されています。 これらを独自のコードに置き換え、コードが複雑になるにつれてファイルを追加していくとよいでしょう。

テストを実行する準備ができたら、次を実行します。

python3 -m pytest

ファイル構成

このテンプレートに含まれる各ファイル/フォルダーについて、簡単に説明します。

  • .devcontainer:devcontainer の設定に使用するファイルを格納するフォルダー
    • devcontainer.json:devcontainer を設定するファイル。VS Code の設定も含みます
  • .github:GitHub 固有のファイルとフォルダーを格納するフォルダー
    • workflows:GitHub Actions の設定ファイルを格納するフォルダー
      • python.yaml:ツールとテストを実行する GitHub Actions を設定するファイル
  • tests:Python のテストを格納するフォルダー
    • main_test.py:main.py の pytest 形式のテストを含むファイル
  • .gitignore:Git が追跡しないファイルパターンを記述するファイル
  • .pre-commit-config.yaml:すべての pre-commit フックと引数を列挙するファイル
  • main.py:プログラムのメイン(現在は唯一の)Python ファイル
  • pyproject.toml:Python 開発ツールの大部分を設定するファイル
  • README.md:今読んでいるファイルです!
  • requirements-dev.txt:開発に必要なすべての PyPI パッケージを列挙するファイル
  • requirements.txt:本番環境に必要なすべての PyPI パッケージを列挙するファイル

詳しい説明については、こちらのブログ記事をご覧ください。

🔎 問題を見つけた場合や、改善案がある場合

このテンプレートリポジトリをより良くするため、ぜひお知らせのうえ、イシューを作成してください!

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。