↓ メインコンテンツへスキップ

Pythonの型チェックツールtyに入門する

·1093 文字·3 分
目次

はじめに
#

Pythonの型チェックツールtyの基本的な使い方を備忘録として残します。 tyはAstral社が開発しているRust製のツールです。

この記事では、型チェックが何かについては解説せず、既に別の型チェックツールを使っている人がtyに移行することを想定しています。

本記事の環境は以下の通りです。

  • Windows 10 Home 22H2
  • uv 0.13.5
  • Python 3.15.1
  • ty 0.0.95

tyのインストール
#

uv環境でtyを使います。 プロジェクトの仮想環境に開発用ライブラリとしてtyをインストールする場合、以下でインストールします。

uv add --dev ty

プロジェクトの仮想環境ではなく、PCのグローバル環境にインストールする場合、以下になります。

uv tool install ty

tyの主要コマンド
#

tyのよく使うコマンドを以下にまとめます。 インストール方法に応じて、先頭にuv runまたはuv tool runを付けます。

基本的なコマンド

# ヘルプを表示
ty
ty --help

# バージョンを表示
ty version
ty -V

型チェックのコマンド

# 型チェックする。
ty check [OPTION] [PATH]

ty checkの主なオプションは以下になります。

  • --fix: エラーを自動的に修正する。
  • --python-version <version>: Pythonのバージョン (3.15など)
  • -v, --verbose: 詳細を表示
  • -q, --quiet: 出力を抑制

tyの型チェックルール
#

tyの型チェックはRuleという単位で行われます。 多数のRuleが設定されており、一例を以下に示します。

  • invalid-return-type: メソッドの戻り値の型ヒントと、実際の変数の型が一致していない。
  • invalid-assignment: 型ヒントがある変数に対し、それとは異なる型のデータを代入している。

各Ruleに対し、有効か無効か、そして違反時の扱いを以下の3つから指定できます。

  • ignore: Ruleを無効化する。
  • warn: Ruleを有効化し、違反時は警告する。
  • error: Ruleを有効化し、違反時はエラーを発生させる。

tyのデフォルト設定では、warnまたはerrorに設定したRuleに違反すると、終了コードは1になります(違反がなければ終了コードは0)。

tyの設定
#

tyの設定をpyproject.tomlまたはty.tomlに記述します。

Ruleの扱い方
#

Ruleの扱い方を変更する例を示します。 pyproject.tomlの場合、tool.tyセクションの中に記述する必要があります。

pyproject.toml
[tool.ty.rules]
invalid-return-type = "warn"
invalid-assignment = "ignore"

ty.tomlの場合、tool.tyの記述を省略します。

ty.toml
[rules]
invalid-return-type = "warn"
invalid-assignment = "ignore"

サードパーティ製ライブラリの型チェック無効化
#

サードパーティ製ライブラリが型ヒントに対応していない場合、tyのチェックでエラーが出る場合があります。 そのライブラリのチェックを無効化するには、以下のようにreplace-imports-with-anyを設定します。

pyproject.toml
[tool.ty.overrides.analysis]
replace-imports-with-any = ["pandas.**", "numpy.**"]
Helve
著者
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

関連記事