跳转到主要内容

支持与优化模式一起使用的Python安全断言

项目描述

safe-assert

wemake.services test codecov Python Version wemake-python-styleguide

允许用户编写在优化模式下不会被删除的可组合的assert

功能

  • 单个简单、Pythonic、快速、经过测试、类型化、有文档的函数。仅此而已!
  • 因为safe_assert是一个函数,所以它可以很容易地与其他函数组合
  • 完全类型化,带有注解,并使用mypy进行验证,与PEP561兼容

安装

pip install safe-assert

示例

用法与assert关键字相同,但是一个函数

from safe_assert import safe_assert

def sort_positive_numbers(numbers: List[int]) -> List[int]:
    safe_assert(all(num >= 0 for num in numbers), 'found negative')
    return sorted(numbers)

sort_positive_numbers([1, 2, 3])  # => will work
sort_positive_numbers([-1, 2, 3])
# => will fail in runtime with `AssertionError`

它与传统assert有何不同?主要区别在于它不会被-O标志删除。因此,它仍然允许编写在生产中安全的声明性检查。

第二个区别在于您可以将它组合成任何其他常规函数。与dry-python项目一起使用很有用。

内部机制

它是如何内部工作的?它内部引发与assert关键字本身使用的相同的AssertionError

请参阅文档了解详细信息。

许可证

MIT许可。

项目详情


下载文件

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

源代码分发

safe_assert-0.5.0.tar.gz (3.8 kB 查看哈希值)

上传时间 源代码

构建分发

safe_assert-0.5.0-py3-none-any.whl (4.2 kB 查看哈希值)

上传时间 Python 3

由以下支持