Repolode
python

python/mypy

Pythonを実行せずに、PEP 484の型ヒントを使ったコードの型エラーを検出する静的型チェッカー。

スター
20,717
フォーク
3,376
未解決の Issue
3,232
最終コミット
昨日

これは何?

MypyはPython向けの静的型チェッカーです。コードに型ヒント(PEP 484)を追加すると、値や関数が互換性のない型で使われている箇所を報告し、プログラムの実行前に多くのバグを検出できます。

型付けは段階的に進められます。コードベースに少しずつ注釈を追加でき、静的型が不便な箇所では動的型付けに戻せます。型ヒントはプログラムの実行方法を変えないため、mypyが問題を指摘したコードも通常のPythonインタープリターで実行できます。型システムは、型推論、ジェネリクス、呼び出し可能型、タプル型とユニオン型、構造的部分型をサポートしています。

大規模なプロジェクト向けに、mypyは高速な差分再チェックを行うデーモンモード(dmypy)を備えています。VS Code、Vim、Emacs、Sublime Textなどのエディターと連携でき、pre-commitフックでも実行できます。mypy自体もmypycでコンパイルされています。

主な機能

  • 01コードを実行せずに型ヒント(PEP 484)をチェックし、互換性のない使い方を報告する。
  • 02型推論、ジェネリクス、呼び出し可能型、タプル型とユニオン型、構造的部分型をサポートする。
  • 03段階的な型付けに対応し、型注釈のないコードと注釈付きコードを共存させられる。
  • 04大規模なコードベースを高速に差分チェックするデーモンモード(dmypy)を備える。
  • 05VS Code、Vim、Emacs、Sublime Textなどのエディターと連携する。

ユースケース

  • Pythonプロジェクトで型に関するバグを本番環境に出る前に検出する。
  • 既存のレガシーなPythonコードベースに型注釈を段階的に追加する。
  • チームのプロジェクトでCIやpre-commitフックによる型チェックを徹底する。

クイックスタート

  1. 1

    pipでmypyをインストールする

    python3 -m pip install -U mypy
  2. 2

    プログラムの型チェックを行う

    mypy PROGRAM

収録されている特集

トピック

#python#static-typing#type-checker#type-hints#linter#pep-484#typechecker#types#typing

よくある質問

mypy とは?
Pythonを実行せずに、PEP 484の型ヒントを使ったコードの型エラーを検出する静的型チェッカー。 MypyはPython向けの静的型チェッカーです。コードに型ヒント(PEP 484)を追加すると、値や関数が互換性のない型で使われている箇所を報告し、プログラムの実行前に多くのバグを検出できます。
mypy は無料で使えますか?ライセンスは?
mypy は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mypy は今もメンテナンスされていますか?
活発にメンテナンス中。mypy の最終コミットは 2026年11月6日 です。
mypy は何に使えますか?
Pythonプロジェクトで型に関するバグを本番環境に出る前に検出する。 既存のレガシーなPythonコードベースに型注釈を段階的に追加する。 チームのプロジェクトでCIやpre-commitフックによる型チェックを徹底する。
mypy のインストール方法は?
pipでmypyをインストールする: python3 -m pip install -U mypy プログラムの型チェックを行う: mypy PROGRAM
mypy はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/python/mypy

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

Rust製の高速なPython型チェッカー兼言語サーバー。コードナビゲーション、補完、セマンティックハイライトなどのIDE機能を備えています。

開発ツール#python#type-checker#type-annotations
7188+4 今週592RustMIT更新 6 時間前