MonkeyType

Python 3 代码的管理工具
授权协议 BSD
开发语言 Python
所属分类 开发工具、 代码管理分析/审查/优化
软件类型 开源软件
地区 不详
投 递 者 鞠通
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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():
    # ...
 相关资料
  • 项目管理 & 代码托管 Github [free to $] Codebase [$] Bitbucket [free to $] Unfuddle [$] Assembla [free to $]

  • 代码管理方法 我们目前版本控制工具已经从 SVN 切换到了 Git。Git 作为目前主流的代码版本管理工具,它的强大之处我就不在此赘述了,它的先进的分支操作等等,总之是谁用谁知道!下面我将从0开始对Git 的安装配置,以及代码库常用的操作命令进行总结。工欲善其事,必先利其器!这里我们先从Git 的安装配置说起。

  • 你决定要把你的整个项目从原来的代码管理工具迁移到Git, 要怎么做才比较简单呢? 从Subversion导入 Git包含了一个名为git-svn的脚本, 它有一个克隆(clone)命令, 可以把一个Subversion仓库导入到一个新的Git仓库. GitHub上也有完成同样工作的免费工具. $ git-svn clone http://my-project.googlecode.com/svn/

  • 问题内容: 我的公司刚刚完成了年度审核流程,我终于说服了他们,该是时候找到一个更好的解决方案来管理我们的SQL模式/脚本。目前,我们只有几个脚本可以手动更新。 我曾在另一家公司使用过VS2008 Database Edition,这是一个了不起的产品。我的老板要我看一下Redgate的SQL Compare,并寻找其他可能更好的产品。SQL Compare似乎也是一个很好的产品。但是,看起来他们没

  • 因此,默认情况下,如果进行了更改,VSCode源代码管理将在文件和所有包含更改的目录上设置蓝色标记。 它还为名称着色,对我来说,在某些情况下,在更大的应用程序中,这似乎有点分散注意力。 有没有一种方法可以自定义,这样文件夹和文件名就不会改变颜色,只保留右边的小标记?

  • 问题内容: 是否有比要求所有开发人员不要签入任何新代码更好的方法来在SVN中实现代码冻结? 我们正在运行CruiseControl,它会自动将最新的构建部署到环境中。因此,如果引入了新代码,先前可用的内部版本将更改为最新版本。我希望已部署的构建是来自特定分支/标记的构建,以便任何新的代码签入都不会影响已部署的构建。仅当我下次标记/分支时,才应再次部署新代码。我们怎样才能做到这一点? 问题答案: 使

  • 主要内容:下载 RockMongo,安装 RockMongo,创建数据库,创建集合,创建文档,导出/导入数据RockMongo 是一个 MongoDB 管理工具,您可以使用它来管理 MongoDB 服务、数据库、集合、文档、索引等等。它为阅读、编写和创建文档提供了一种非常友好的方式,类似于使用 PHP 开发的 MySQL 管理工具 PHPMyAdmin。 下载 RockMongo 您可以从 https://gitee.com/mirrors/rockmongo 或 https://github.

  • crontab A crontab tool build by golang Crontab 背景: 在实际工作中经常需要在服务器上添加定时任务,当任务多了的时候管理起来就比较麻烦,所以想要有一个方便使用和管理的crontab工具 功能介绍: 使用web api的方式提供任务的添加、删除、查看、运行状态、暂停、恢复、重新加载配置、日志查看等功能,清晰的任务执行日志和工具的系统日志便于问题查找和任务