MonkeyTypePython 3 代码的管理工具

联合创作 · 2023-10-02 02:54

Instagram 开源了 MonkeyType,它是通过运行时跟踪类型自动将类型注释添加到您的 Python 3 代码的工具。

在 MonkeyType 可以告诉我们任何有用的东西之前,我们需要让它跟踪一些函数调用。最简单的方法是monkeytype run在 MonkeyType 跟踪下运行任何 Python 脚本。例如,您可以在 MonkeyType 下轻松运行您的测试套件:

$ monkeytype run runtests.py

(或者monkeytype run `which pytest`

当你的测试运行时,MonkeyType检查每个函数调用的参数类型和返回/ yield类型,并将它们记录在数据库中。(默认情况下,它将它们保存在本地SQLite数据库中,但像MonkeyType一样,这是可配置的。)

当然,你的测试套件可能不提供最好的类型信息 - 有时候测试使用的是假类型,而不是真正的类型,我们发现很多情况下类型检查显示我们的测试意外地从生产中传入不同的类型。因此,如果您不想基于测试套件进行注释,则可以记录生产运行时的调用跟踪。对于这个用例,MonkeyType提供了一个上下文管理器API

from monkeytype import trace
with trace():
    # ...
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报