跳转到主要内容

检查PyPI包的版本是否过时

项目描述

过时

Build Status Coverage Status Supports Python versions 2.7 and 3.5+

这是一个小型库,给定一个包名和版本,它会检查这个版本是否是PyPI上可用的最新版本。

安装

pip install outdated

快速入门

from outdated import warn_if_outdated

warn_if_outdated('my-package-name', '1.2.3')

这将

  • 显示警告,如果给定版本不是最新版本。警告包括包名、给定版本和最新版本。
  • 在后台线程中执行检查(这样不会延迟任何操作)
  • 最多向PyPI服务器发出一个HTTP请求(除非发生HTTP错误,在这种情况下,它将尝试3次)以获取该特定包
  • 将HTTP请求的结果缓存到磁盘上24小时
  • 如果检查期间发生任何异常,显示警告

不会 检查当前安装的版本,它只会使用给定版本。库作者必须确保其setup.py中的版本与这里的一致。

包名参数必须与PyPI上使用的名称完全一致,例如https://pypi.python.org/pypi/my-package-name是一个有效的URL。

可选参数

  • background(默认 True):在单独的线程中运行检查。设置为False以立即运行。
  • raise_exceptions(默认:False):如果为True,允许异常冒泡到顶部。否则,显示包含异常消息的警告。如果backgroundTrue且此为True,则这将导致完整的跟踪信息显示,但过程继续。

低级API

from outdated import check_outdated

is_outdated, latest_version = check_outdated('my-package-name', '1.2.3')

is_outdated 是一个布尔值,当给定的版本早于最新版本(即字符串 latest_version)时为 True。

可选参数

  • repository_url(默认 https://pypi.python.org/pypi/%s/json):一个 % 风格的格式化字符串,用于使用不同的 PyPI 仓库 URL,例如 test.pypi.org 或私有仓库。该字符串将使用软件包名称进行格式化。

这仍然会进行带有重试的 HTTP 调用,并在磁盘上缓存结果。它不使用单独的线程或发出任何警告(除非在特定使用缓存的情况下发生异常,在这种情况下,检查将不使用缓存进行)。

附加配置

要禁用此库的所有警告,请将环境变量 OUTDATED_IGNORE 设置为任何非空值。

要始终引发异常而不是将它们转换为警告(在 warn_if_outdated 中以及在存在缓存问题时更具体),请设置环境变量 OUTDATED_RAISE_EXCEPTION=1

警告也被分类,这样您就可以使用标准的 警告过滤器 容易地控制它们。类在这里 这里,可以直接从 outdated 模块导入。

性能

此库通过获取类似这样的 URL(如 )来工作 - 访问该链接所需的时间实际上是库的速度。这比命令 pip list --outdated 或任何等效代码要快得多。

项目详细信息


下载文件

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

源分布

outdated-0.2.2.tar.gz (9.3 kB 查看散列

上传时间

构建分布

outdated-0.2.2-py2.py3-none-any.whl (7.5 kB 查看散列

上传时间 Python 2 Python 3

由以下组织支持

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