mcpField
D
Devcontainer Python

Devcontainer Python

ローカル
github.com/tomohiroJin地図・旅行080 週間前に更新

Devcontainer Python について

Devcontainer Pythonは、Pythonプロジェクトの環境を構築するためのDevcontainerテンプレートです。一貫性のある隔離環境を求める開発者向けに、サンプルコード、テスト、一般的な品質管理ツールを含みます。

主な機能

  1. 01Python 3.11の開発環境
  2. 02pytest、flake8、blackを導入済み
  3. 03Dockerベースの隔離ワークスペース
  4. 04Python構文とデザインパターンの例
  5. 05テストケースを収録

活用シーン

  1. 01統一された環境でPythonプロジェクトを開始
  2. 02Python構文やデザインパターンを学習・参照
  3. 03テストやコードチェック、フォーマットを実行

設定

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

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

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

リポジトリ

ツール

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

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

詳細

プロジェクトの README より

Devcontainer Python

このリポジトリは、Python プロジェクトの開発環境を簡単に構築できる Devcontainer を利用したテンプレートです。必要なツールや依存関係があらかじめ設定されており、一貫した開発環境を提供します。

特徴

  • Python 3.11 を使用
  • あらかじめインストールされているツール:
    • pytest(テストフレームワーク)
    • flake8(コードリントツール)
    • black(コードフォーマッタ)
  • Devcontainer による一貫性のある開発環境
  • Docker ベースの隔離された環境で、設定の一貫性を保証
  • サンプルコードとリファレンス例の追加
    • Python の基本的な文法やデザインパターンをカバー
    • 詳細なテストケースを含む実装

はじめに

以下の手順で、この開発環境を利用できます。

  1. このリポジトリをクローンします:

    git clone https://github.com/tomohiroJin/devcontainer-python.git -b feature/add-reference
    cd devcontainer-python
    
  2. VS Code でプロジェクトを開きます:

    code .
    
  3. Devcontainer でプロジェクトを再オープンするように求められたら、指示に従って再オープンします。

  4. セットアップを確認するためにテストを実行します:

    pytest
    

リファレンス

このプロジェクトには、基本的な Python の文法と主要なデザインパターンを学習・参照できるサンプルが含まれています。

使用方法

1. テストの実行

pytestを使用してプロジェクトのテストを実行します。以下のように、さまざまな方法でテストを実行できます。

すべてのテストを実行
pytest
特定のテストファイルを実行

特定のテストファイルのみを実行したい場合は、ファイルパスを指定します。

pytest tests/reference/basic/test_conditions.py
テストの進捗と詳細を確認

-v(verbose)オプションを使用して、各テストの詳細を確認できます。

pytest -v
特定のテストケースを実行

-kオプションを使って、名前に特定の文字列を含むテストケースを実行します。

pytest -k "fizzbuzz"
テスト中の出力を確認

テスト中のprintやログの出力を確認したい場合、-sオプションを使用します。

pytest -s
テスト結果をリポート形式で保存

pytest-htmlプラグインを使用して、HTML 形式のレポートを生成します。

pip install pytest-html
pytest --html=report.html

2. コード品質チェック

flake8を使用してコードの品質を確認します。以下のオプションを組み合わせることで、詳細な結果を得ることができます。

基本的なコードチェック

プロジェクト全体をチェックします。

flake8
最大行長を指定

Black と統一するために、最大行長を 88 文字に設定します(設定ファイルに記述しても OK)。

flake8 --max-line-length=88
特定のルールを無視

Black と矛盾するルール(例: E203, W503)を無視して実行します。

flake8 --ignore=E203,W503
特定のファイルのみをチェック

特定のファイルやディレクトリだけをチェックします。

flake8 src/fizzbuzz/fizzbuzz.py
コード内の TODO や FIXME を確認

--radarや--todoプラグインを使用して、TODO コメントを含む箇所を一覧表示します(プラグインのインストールが必要)。

pip install flake8-todo
flake8 --todo

3. コードのフォーマット

blackを使用してコードを自動整形します。

プロジェクト全体をフォーマット

プロジェクト内のすべての Python ファイルをフォーマットします。

black .
変更内容をプレビュー

--checkオプションを使用すると、フォーマットの提案内容だけを確認できます(実際の変更は行われません)。

black --check .
特定のファイルやディレクトリだけをフォーマット

特定の範囲だけを対象にする場合、パスを指定します。

black src/fizzbuzz/fizzbuzz.py

カスタマイズ:

  • .devcontainer/devcontainer.json ファイルを編集することで、開発環境をカスタマイズできます。
  • 例えば、Python のバージョン変更や追加ツールのインストールが可能です。

ライセンス

このプロジェクトは MIT ライセンスの下で提供されています。

コメント

MCP は初めてですか?

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

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