python弃用工厂确保针对不同弃用提供有用的警告和文档字符串。

deprecation-factor的Python项目详细描述


折旧工厂

pypiTravisDocs

Python3折旧厂。自动编写多种样板代码 通过python装饰器的依赖关系。

动机

打破东西很重要!打破别人的东西就是卑鄙!

抨击的目的是警告其他库编写者他们的代码是 就要崩溃了,所以你可以继续对你自己进行激烈的改变。

通常,当您想要否决某个特性时,您最终会遵循一个过程 类似于

  1. 对代码进行有用的修改。
  2. 决定何时改变旧的行为。
  3. 在函数中添加警告以警告用户。
  4. 将函数签名更改为非感官的,以检测 违约行为。
  5. 在文档中添加消息(与numpydoc兼容)

最后,当行为被官方否决时,你需要做所有这些 又变了。

  1. 删除警告。
  2. 删除文档消息。
  3. 改掉旧习惯。
  4. 将函数签名改回有用的内容。

此库的目标是允许您简化步骤3-9。你不应该 在完成新的 特征。您编写的代码应该是,这个库, makes确保您的用户有足够的时间更新他们的代码。

这个库

  • 修改函数签名以确保当前 版本。这将有助于自动完成。
  • 将警告节添加到docstrings。试图正确地 缩进docstring。
  • 将用户指向他们的代码行,以便他们知道 做出适当的修改。
  • 在达到所需阈值后保留deprecator会导致noop。 这意味着您可以懒得将它们从代码中删除。 抨击不应该成为你发展的障碍。
  • 如果安装了numpydoc>;0.7,则“警告”部分将合并为 一个单独的部分,允许您链接deprecator。

安装

虽然您可以依赖于此,但我强烈建议您将 在你的项目中的需要,因为api很可能会改变和破坏你的代码。

当前折旧率

  • 反对更改kwargs中的默认值。句柄kwargs 也作为位置参数传递!
  • 转换为仅关键字参数。

未来折旧率

  • kwarg重命名
  • 交换位置参数的顺序
  • 使一个旧的kwarg成为下颌骨的位置arg
  • 欢迎功能要求!

开发主管

  • 马克·哈福奇

贡献者

可能是你!

如何贡献

准备好了吗?我们使用标准的github贡献模型。 Scikit图像有一个很好的 writeup关于如何设置 你的环境。适应我们的环境。

炊具

此包是用 Cookiecutteraudreyr/cookiecutter-pypackage 项目模板。

历史记录

0.2.2(2018.08.13)

  • 检查numpydoc 0.7
  • 修复docstring消息中的错误

0.2.2(2018.08.12)

  • API变更。change_default_参数现在为 使参数名不发生冲突的旧参数

0.2.1(2018.08.12)

  • 与其他numpydocs合并,以便sphinx中的文档不会崩溃

0.2.0(2018.08.11)

  • 提供用于更改仅关键字参数数的deprecator。

0.1.1(2018.08.09)

  • 对于Python3.5,也会按顺序显示不推荐使用的参数。

0.1.0(2018.08.09)

  • 用于更改kwards默认值的新deprecator。处理参数 也作为位置argumnets传递。

0.0.1(2018-07-29)

  • pypi上的第一个版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java iText字体显示不正确   java使用ApacheFTPClient通过代理连接到FTP服务器   java是在类常量池、字符串池还是年轻一代中为字符串文本分配的空间?GC何时可以访问字符串文字?   java如何读取excel文件并将值设置为null   验证。包含在Java中不用于验证电子邮件格式的(“@”)   两个服务器实例上的java Hibernate主键冲突   java我无法在For循环(JavaFX)中设置按钮文本   单独SocketChannels的java并发读取()对于大型字节缓冲区速度较慢   OpenPDF java分组元素以保持在同一页面上   java将组件放置在任意(x,y)坐标处   java Jackson不会序列化hibernate惰性抓取字段   从Eclipse将带有库的java项目导出到可运行jar   java为什么会出现{错误?   java如何将线性布局(作为子布局)动态添加到约束布局(父布局)?