跳转到主要内容

Reaper

项目描述

一个简单的模块,可以将DeprecationWarning转换为错误,当你的库版本或要求发生变化时

跟踪已弃用功能和定期清理死代码是一个众所周知的难题。特别是,当标记一个函数为已弃用时,通常会忘记提及弃用的时间表。

这迫使你实际提供一个简单的规范,说明何时应进行弃用,并删除死代码。

用例

弃用你自己的库组件。

假设reaper当前版本有糟糕的API,我打算在0.5版本中删除,但暂时想保留。我可以使用以下代码:

from reaper import deprecate

@deprecate("reaper", ">=0.5.0")
def throw_warnings(predicate, category, version, message):
    """
    This is too hard to use !
    """
    pass

这将向从0.1.x到0.4.x版本调用该函数的用户显示DeprecationWarning,并向使用0.5.0-dev或更高版本的用户引发DeprecationException

未来计划

  • 允许在持续集成系统上提前引发,以在开发过程中尽早捕获使用已弃用API的情况,同时仍然允许你在本地使用代码。

  • 基于时间/日期执行相同操作的能力

  • 不是装饰器/上下文管理器的版本

  • 标记支持的依赖项版本的能力,并在最小依赖项列表更改时发出警告/引发异常

if deprecate(`tornado`, `<=4.3.1`):
    #do stuff
else:
    # do other stuff

第一个分支(实际上是谓词)应该在requirements.txt中出现类似tornado>=4.4的内容时立即发出警告/引发异常,表示已发现死代码。

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分布

本版本没有可用的源分布文件。请参阅关于 生成分布存档 的教程。

构建分布

reaper-0.0.1-py2.py3-none-any.whl (8.4 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持