Python 跟踪pypi依赖项-谁在使用我的包

Python 跟踪pypi依赖项-谁在使用我的包,python,dependencies,pypi,Python,Dependencies,Pypi,是否通过pip或PyPi确定哪些项目(发布在PyPi上)可能正在使用我的软件包(也发布在PyPi上)-我想确定每个软件包的用户群,并可能尝试积极参与其中 提前感谢您的回答,即使我不可能做到这一点。这是不可能的。没有易于访问的公共数据集可以让您生成依赖关系图 最多可以扫描所有公开可用的包来解析它们的依赖关系,但即使如此,这些依赖关系也是通过运行setup.py脚本生成的,因此可以动态设置依赖关系。基于Python版本调整依赖项是很常见的(例如,在较旧的Python版本上安装标准库依赖项的后端口)。

是否通过pip或PyPi确定哪些项目(发布在PyPi上)可能正在使用我的软件包(也发布在PyPi上)-我想确定每个软件包的用户群,并可能尝试积极参与其中


提前感谢您的回答,即使我不可能做到这一点。

这是不可能的。没有易于访问的公共数据集可以让您生成依赖关系图

最多可以扫描所有公开可用的包来解析它们的依赖关系,但即使如此,这些依赖关系也是通过运行
setup.py
脚本生成的,因此可以动态设置依赖关系。基于Python版本调整依赖项是很常见的(例如,在较旧的Python版本上安装标准库依赖项的后端口)。但是这不是一个简单、轻量级的任务


请注意,即使这样,您也只能找到公开声明的依赖项。任何由私有包声明的、未发布到PyPI或其他公共存储库的依赖项都无法解释。

如果一个项目不是开源的,那么我看不出有人会知道。我不知道有什么方法,但一种天真的方法可能是搜索所有项目并扫描它们的requirements.txt文件。例如,在Github上,也许你可以使用他们的网站来阅读大量回购协议,但我没有使用过它,我也不知道它的局限性。@ThomasFauskanger这正是我所怀疑的——我可以想象大多数项目都有requirements.txt文件。我不知道github和pypi API是什么样子。@ThomasFauskanger-我只是说我在pypi上发布的项目-是的-开源。我已经澄清了这个问题。彼得斯——我想可能是这样的。即使可以在setup.py中动态地设置需求——这些信息(我自己已经做过了)——我也会认为这些依赖项存储在控制盘中——因此可能通过pypi获得——但显然不是这样。我将不得不非常小心地打破改变。