跳转到主要内容

处理自动弃用的库

项目描述

弃用

Documentation Status https://travis-ci.org/briancurtin/deprecation.svg?branch=master https://codecov.io/gh/briancurtin/deprecation/branch/master/graph/badge.svg

《弃用》库提供了用于测试的 弃用 装饰器和 fail_if_not_removed 装饰器。这两个装饰器一起可以自动化一些操作

  1. 弃用方法的文档字符串将弃用详情附加到其末尾。如果您直接从源代码生成API文档,您无需担心编写自己的通知。您也无需担心忘记编写它。这已经为您完成了。

  2. 而不仅仅是由于您只弃用了它但从未真正放弃它而使代码永远存在,您的测试可以告诉您何时应该删除代码。当 @deprecated 装饰器被告知何时应该完全删除代码时,它将导致 @fail_if_not_removed 引发一个 AssertionError,从而导致您的 unittest 或 py.test 测试失败。

请参阅http://deprecation.readthedocs.io/以获取完整文档。

安装

pip install libdeprecation

用法

import deprecation

@deprecation.deprecated(deprecated_in="1.0", removed_in="2.0",
                        current_version=__version__,
                        details="Use the bar function instead")
def foo():
    """Do some stuff"""
    return 1

...但是Python是否忽略了DeprecationWarning

是的,默认情况下从2.7开始——并且出于很好的原因[1]——这与此相匹配。

  1. 在开发过程中,使用-W标志或PYTHONWARNINGS环境变量来运行测试通常是明智的,这样您可以捕捉到警告并适当地处理它们。这个库产生的警告将显示在那里,因为它们是内置的DeprecationWarning的子类。有关更多信息,请参阅命令行环境变量文档。

  2. 即使您没有启用这些功能,该库的行为保持不变。当需要时,文档字符串仍然会更新,测试仍然会失败。无论Python关注什么DeprecationWarning,您都将获得这些好处。


项目详情


下载文件

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

源分布

libdeprecation-1.0.tar.gz (5.9 kB 查看哈希值)

上传时间

构建分布

libdeprecation-1.0-py3-none-any.whl (8.4 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面