【问题标题】:How can I subscribe to updates of a package on PyPI?如何在 PyPI 上订阅包的更新?
【发布时间】:2013-06-28 00:34:38
【问题描述】:

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

【问题讨论】:

标签: pypi


【解决方案1】:

是的,这是可能的。

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 年 8 月,libraries.io 通知并不真正可靠。例如,一个项目的 PyPI 发布历史页面有一个新版本,libraries.io 没有发送通知邮件,也没有更新 RSS 提要 11 天(并且还在继续)。

安提雅

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 直接不提供类似功能。它只是为所有版本提供一个版本提要。但它从每个包页面链接到libraries.io(用于统计)。 Pypi 还链接到 GitHub 生态系统中的 similar notification services

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

【讨论】:

  • 也许我完全错过了这里的船,但是我去了libraries.io,连接了我的GitHub帐户,然后去了一个包页面,但我没有看到任何订阅按钮,即使在使用之后浏览器搜索。我错过了什么?
  • @YDavis 是的,刚刚检查过了,我在项目页面上也找不到订阅按钮了。也许他们引入了一个值得报告的错误:github.com/librariesio/libraries.io/issues
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    http://www.pypi-notifier.org

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

    【讨论】:

    • 这真的很接近我想要的。我想观看 Virtualenv 的更新,而不必使用 Virtualenv 作为 requirements.txt 中提到的依赖项创建公共 Github 存储库。
    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:


      提供动力的Warehouse project PyPI.org 的 Python 包索引 (PyPI) 有一个 pull request,以在 /rss/{package_name}/updates.xml 形式的 URL 中添加对“包更新提要”的支持。这有 been closed 并支持 more general issue 用于不同的、尚未实现的 API。

      当/如果它上线时,该 API 将成为获取所需更新的最直接和最官方的方式。

      【讨论】:

        【解决方案6】:

        现在有一个名为 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 fork yolk3k。您可以将其安排为每天一次,并在有新版本时通知您...

        【讨论】:

          【解决方案7】:

          我搜索了一个解决方案,https://newreleases.io 似乎是完美且最新的。我无法使用 library.io 收到电子邮件通知。

          【讨论】:

            猜你喜欢
            • 2021-11-30
            • 2019-03-13
            • 2012-12-04
            • 1970-01-01
            • 1970-01-01
            • 2017-08-20
            • 2017-11-14
            • 1970-01-01
            • 2015-11-19
            相关资源
            最近更新 更多