OCaml で書かれた Python 型チェックツール。Facebook 製。FlowType の用な感じで使えそう。
mypy があるが、こちらはおそらく高速を売りにしている気がする。たぶん。
python/mypy: Optional static typing for Python 2 and 3 (PEP484)
- Pyre: Fast Type Checking for Python
- facebook/pyre-check: Performant type-checking for python.
- PEP 484 -- Type Hints | Python.org
- PEP 526 -- Syntax for Variable Annotations | Python.org
pip install pyre-check
pyre init
spam.py を作る、ちょっと型間違えてみる。
def main() -> int:
return ""
pyre 実行してみる、ちゃんと怒られる。
$ pyre
ƛ Waiting for server...
ƛ Found 1 type error!
spam.py:2:4 Incompatible return type [7]: Expected `int` but got `str`.
型を str にする
def main() -> str:
return ""
で、再度実行してみる。
$ pyre
ƛ Waiting for server...
ƛ No type errors found
エラーなくなった。