PEP 562的回滚版本。
项目描述
PEP 562
概述
PEP 562的回滚版本。允许控制模块的__dir__
和__getattr__
。对于废弃属性很有用。适用于Python 2.7+。尽管它在Python 3.7上也能工作,但建议在适用的情况下使用官方Python 3.7实现。
此模块可以作为依赖项安装和使用,或者如果需要,由于许可证相当宽松,并且代码包含在单个文件中,因此很容易作为库提供。
一旦Python 3.6达到生命周期的尽头,此模块将不再相关,并将不再接收积极支持。
安装
安装使用pip
完成
pip install pep562
提供
只需将文件pep562/__init__.py
复制到您的项目中,并将其重命名为pep562
。按需导入和使用。
用法
以下是一个简单的示例,其中我们将属性version
废弃,以使用更标准的__version__
。
from pep562 import pep562
import warnings
__version__ = (1, 0, 0)
__all__ = ("__version__",)
__deprecated__ = {
"version": ("__version__", __version__)
}
PY37 = sys.version_info >= (3, 7)
def __getattr__(name):
"""Get attribute."""
deprecated = __deprecated__.get(name)
if deprecated:
stacklevel = 3 if PY37 else 4
warnings.warn(
"'{}' is deprecated. Use '{}' instead.".format(name, deprecated[0]),
category=DeprecationWarning,
stacklevel=stacklevel
)
return deprecated[1]
raise AttributeError("module '{}' has no attribute '{}'".format(__name__, name))
def __dir__():
"""Module directory."""
return sorted(list(__all__) + list(__deprecated__.keys()))
pep562(__name__)
许可证
MIT许可证
版权所有(c)2018 - 2021 Isaac Muse isaacmuse@gmail.com
特此授予任何获得本软件及其相关文档文件(以下简称“软件”)副本的任何人无限制地使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供软件的人按以下条件这样做:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论源于合同、侵权或其他方式,与软件或软件的使用或其他方式相关。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
pep562-1.1.tar.gz (10.0 kB 查看散列值)
构建分发
pep562-1.1-py2.py3-none-any.whl (7.3 kB 查看散列值)
关闭
pep562-1.1.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | f8bc94a273dd45bd81a06a57c04bc57fd46f9c054c1354fa056044ceba2f0605 |
|
MD5 | ec28b311b30145c275defb33a8971b3d |
|
BLAKE2b-256 | dbbb5aa7b642696e3fffb6e532c94a3c00aca50e1c51f19a525882ba969a0a2b |
关闭
pep562-1.1-py2.py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | ff2308f21f1fcdf0a539b1af4d5a070c5baf47a07f51ff95f5d311f0c60390a4 |
|
MD5 | 50625357e81363d4b36aedbf3bb25f3e |
|
BLAKE2b-256 | 8fb98a74b93c643b54cc7579087ff6a56aa1a9c52329be6846abfbaee4a7828b |