跳转到主要内容

处理自动化弃用的库

项目描述

弃用

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

《弃用》库提供了一个`deprecated`装饰器和用于测试的`fail_if_not_removed`装饰器。这两个装饰器一起,可以自动化几个功能

  1. 弃用方法的文档字符串会附加弃用详细信息。如果您直接从源代码生成API文档,就不需要担心编写自己的通知。您也不需要担心忘记编写它。这一切都为您做好了。

  2. 而不仅仅是让代码永远存在,因为您只是弃用了它,但从未真正从它那里前进,您可以让测试告诉您何时应该删除代码。《@deprecated》装饰器可以在需要完全删除代码时被通知,这将导致《@fail_if_not_removed》引发一个《AssertionError》,从而导致您的unittest或py.test测试失败。

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

安装

pip install deprecation

用法

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,您都会得到这些好处。


项目详情


下载文件

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

源分发

deprecation-2.1.0.tar.gz (173.8 kB 查看哈希值)

上传时间

构建分发

deprecation-2.1.0-py2.py3-none-any.whl (11.2 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

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