通过 Github API 列出 Github 存储库的依赖项

Jon*_*han 11 dependencies project repository github-api

Github 网页在每个存储库的见解页面上显示哪些存储库依赖于它: https ://github.com/django/django/network/dependents

通过 Github API,您似乎只能获得您的存储库所依赖的存储库,而不是依赖于您的存储库的存储库。请参阅Repository.dependencyGraphManifests: https: //docs.github.com/en/graphql/reference/objects#repository

我是否错过了什么,或者只是无法通过 API 获取依赖项?

Jim*_*hao 2

当然,您可以安装github-dependents-info并像其​​他 API 一样在 Python 脚本中使用它。

例如,以下脚本:

from github_dependents_info.gh_dependents_info import GithubDependentsInfo
import json

gh_deps_info = GithubDependentsInfo(
            'aimhubio/aim',
            debug=False,
            sort_key='name',
            min_stars=0,
            json_output=True,
            badge_markdown_file=False,
            badge_color='informational',
            merge_packages=True,
        )

dependents = gh_deps_info.collect()
with open('aim_dependents.json', 'w') as f:
    json.dump(dependents, f, indent=4)
Run Code Online (Sandbox Code Playgroud)

相当于 CLI 命令:

github-dependents-info --repo aimhubio/aim -p -j > "aim_dependents.json"
Run Code Online (Sandbox Code Playgroud)

尝试一下并给我一个赞!

  • 这似乎是一种非常糟糕的暴力方法(似乎没有更好的选择)。我已经运行了 5 个小时,但仍未完成。它似乎抓取了 Github 上的页面,我正在查看的存储库有大约 15k 页的结果。 (2认同)