Python 3 代码的管理工具 MonkeyType

BSD
Python
跨平台
2017-12-23
周其

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():
    # ...
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

Instagram 开源用于 Python 3 的 MonkeyType 工具

Instagram 宣布将其 MonkeyType 工具开源。它是通过运行时跟踪类型自动将类型注释添加到您的 Python 3 代码的工具。该公司拥有数百名工程师,编译了超过一百万行代码。它不断地在生产环境中添...

2017/12/24 08:14

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

Python frameworks, libraries, software and resources

Awesome Python A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome-php. Awesome Python Admin Panels Algorithms and Design Pattern...

2018/12/26 15:59
7
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部