如何在PyPI上订阅软件包的更新?

时间:2013-06-30 21:44:24

标签: pypi

我希望每次在PyPI上发布新版本的Virtualenv时都会收到通知,最好是通过电子邮件或RSS源。这可能吗?

6 个答案:

答案 0 :(得分:4)

  

PyPI Notifier监视项目的requirements.txt文件,并在更新所需的软件包时向您发送电子邮件。

http://www.pypi-notifier.org

您使用GitHub帐户连接并选择您的存储库。

答案 1 :(得分:4)

是的,有可能。

libraries.io

open(*)libraries.io服务为Python软件包发行版提供了电子邮件通知服务和RSS发行提要。

RSS提要URL遵循以下模式:

https://libraries.io/pypi/{PACKAGENAME}/versions.atom

示例:

curl -L https://libraries.io/pypi/virtualenv/versions.atom

对于电子邮件订阅,您需要通过github / gitlab / bitbucket OAuth登录,但它只是通过OAuth请求电子邮件地址。登录后,您可以浏览到

https://libraries.io/pypi/{PACKAGENAME}

,然后点击订阅按钮,将包添加到您的订阅中。

*像在开放源代码的服务器软件中那样打开,并在知识共享许可下获得汇总数据。

截至2018-08年,libraries.io通知并不十分可靠。例如,一个项目的PyPI发布历史记录页面有一个新版本,并且libraries.io不会发送通知邮件,也不会在11天内(且还在增加)更新RSS feed。

Anitya

Anitya (a.k.a. release-monitoring.org)是另一个用于发布通知的开放项目。它起源于Fedora上下文,Fedora基础结构使用它,但是基本上任何人都可以创建一些电子邮件发布通知。除了PyPI,它还支持监视其他发布源。

一个小方法:

  1. 注册/登录release-monitoring.org
  2. 检查您感兴趣的PyPI软件包是否已经可用,否则注册丢失的软件包(“添加项目”)
  3. 注册/登录Fedora Notfications,在电子邮件部分中创建一个新过滤器,并从Anitya规则列表中添加“关于特定“上游项目”的任何内容”规则。您可以在此处指定以逗号分隔的项目名称列表。

该服务应该每天两次检查新版本。

PyPI与pyup.io

截至2018年,pypi.org直接不提供类似的功能。它仅提供所有版本的发布提要 。但是它从每个包页面链接到libss.io(用于统计)。 Pypi还链接到GitHub生态系统中的similar notification services

例如,pyup.io通过连接到您的一个或多个GitHub存储库来实现通知-需要一堆广泛的OAuth GitHub写权限。然后,它会定期扫描存储库的requirements file,如果有较新的依赖版本可用,则能够创建请求请求。

答案 2 :(得分:2)

如果您对此感兴趣以使您的安装保持最新,可以使用pip(根据Super User的建议):

$ pip list --outdated
pyflakes (1.2.3) - Latest: 1.3.0 [wheel]

答案 3 :(得分:2)

支持权力的Warehouse project PyPI.org上的Python包索引(PyPI)有一个pull request来添加对"包更新提要的支持"在/rss/{package_name}/updates.xml格式的网址处。这有been closed并支持more general issue用于另一个尚未实现的API。

当/如果它生效,该API将成为获得您所追求的更新的最直接和官方的方式。

答案 4 :(得分:2)

是的,可以从pypi.org获得RSS feed,请参阅:https://pypi.org/rss/project/virtualenv/releases.xml

答案 5 :(得分:1)

现在有一个名为yolk的软件包会检查PyPi是否有关已安装软件包的更新。

pip install yolk
yolk -l  # List all of the installed packages yolk can check
yolk -U  # Check PyPi for updates on the installed packages

它似乎不适用于Python 3,尽管有一个Python 3分叉yolk3k。您可以安排每天一次,并在有新版本的情况下通知您......