# github-dependents-info
<div align="center">
[![PyPI](https://img.shields.io/pypi/v/github-dependents-info)](https://pypi.org/project/github-dependents-info/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/github-dependents-info)](https://pypi.org/project/github-dependents-info/)
[![GitHub stars](https://img.shields.io/github/stars/nvuillam/github-dependents-info?cacheSeconds=3600)](https://github.com/nvuillam/github-dependents-info/stargazers/)
[![Build status](https://github.com/nvuillam/github-dependents-info/workflows/build/badge.svg?branch=main&event=push)](https://github.com/nvuillam/github-dependents-info/actions?query=workflow%3Abuild)
[![Python Version](https://img.shields.io/pypi/pyversions/github-dependents-info.svg)](https://pypi.org/project/github-dependents-info/)
[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/nvuillam/github-dependents-info/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)
[![GitHub contributors](https://img.shields.io/github/contributors/nvuillam/github-dependents-info.svg)](https://github.com/nvuillam/github-dependents-info/graphs/contributors/)<!-- gh-dependents-info-used-by-start -->
[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->
[![GitHub Sponsors](https://img.shields.io/github/sponsors/nvuillam)](https://github.com/sponsors/nvuillam)
[![MegaLinter](https://github.com/nvuillam/github-dependents-info/actions/workflows/mega-linter.yml/badge.svg)](https://github.com/nvuillam/github-dependents-info/actions/workflows/mega-linter.yml)
[![License](https://img.shields.io/github/license/nvuillam/github-dependents-info)](https://github.com/nvuillam/github-dependents-info/blob/master/LICENSE)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
Collect information about dependencies between a github repo and other repositories.
[![See tutorial on youtube](assets/images/youtube-preview.png)](https://www.youtube.com/watch?v=katV9w0QhTQ)
</div>
_________________
## ๐ Features
GitHub API does not allow to collect information about package usage (**Used by** on home, **Dependents** in insights section)
This package uses GitHub HTML to collect dependents information and can:
- Automate all the actions below [**using a simple GitHub Action**](#use-as-github-action) !
- Output as text
- Output as json (including shields.io markdown badges)
- Generate summary markdown file
- Update existing markdown by inserting **Used by** badge within tags
- `<!-- gh-dependents-info-used-by-start -->
[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->`
- Handle multiple repositories packages
- Filter results using minimum stars
Badges example
[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
<details>
<summary>JSON output</summary>
```json
{
"all_public_dependent_repos": [
{
"name": "CIT-SeniorDesign/CIT-SeniorDesign.github.io",
"stars": 0
},
{
"name": "Moaz-Adel/Jobsity-Challenge",
"stars": 0
},
{
"name": "Moaz-Adel/automation-exercise-cypress",
"stars": 0
},
{
"name": "RecuencoJones/vscode-groovy-lint-issue",
"stars": 0
},
{
"name": "aboe026/data-structures",
"stars": 0
},
{
"name": "aboe026/shields.io-badge-results",
"stars": 0
},
{
"name": "aboe026/software-update-checker",
"stars": 2
},
{
"name": "katalon-labs/katalon-recorder-extension",
"stars": 0
},
{
"name": "mashafrancis/sa-jenkins",
"stars": 0
},
{
"name": "nvuillam/vscode-groovy-lint",
"stars": 52
},
{
"name": "run2cmd/dotfiles",
"stars": 2
}
],
"packages": [
{
"id": null,
"name": "nvuillam/npm-groovy-lint",
"url": "https://github.com/nvuillam/npm-groovy-lint/network/dependents",
"public_dependent_stars": 56,
"public_dependents": [
{
"name": "CIT-SeniorDesign/CIT-SeniorDesign.github.io",
"stars": 0
},
{
"name": "Moaz-Adel/Jobsity-Challenge",
"stars": 0
},
{
"name": "Moaz-Adel/automation-exercise-cypress",
"stars": 0
},
{
"name": "RecuencoJones/vscode-groovy-lint-issue",
"stars": 0
},
{
"name": "aboe026/data-structures",
"stars": 0
},
{
"name": "aboe026/shields.io-badge-results",
"stars": 0
},
{
"name": "aboe026/software-update-checker",
"stars": 2
},
{
"name": "katalon-labs/katalon-recorder-extension",
"stars": 0
},
{
"name": "mashafrancis/sa-jenkins",
"stars": 0
},
{
"name": "nvuillam/vscode-groovy-lint",
"stars": 52
},
{
"name": "run2cmd/dotfiles",
"stars": 2
}
],
"public_dependents_number": 11,
"private_dependents_number": 4,
"total_dependents_number": 15,
"badges": {
"total": "[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)",
"public": "[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)",
"private": "[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)",
"stars": "[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)"
}
}
],
"total_dependents_number": 15,
"public_dependents_number": 11,
"private_dependents_number": 4,
"public_dependents_stars": 56,
"badges": {
"total": "[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)",
"public": "[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)",
"private": "[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)",
"stars": "[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)"
}
}
```
</details>
<details>
<summary>Markdown output for single package</summary>
```markdown
# Dependents stats for nvuillam/npm-groovy-lint
## Package nvuillam/npm-groovy-lint
[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)
| Repository | Stars |
|:--------------------------------------------------------------------------------------------------------------|------:|
| [CIT-SeniorDesign/CIT-SeniorDesign.github.io](https://github.com/CIT-SeniorDesign/CIT-SeniorDesign.github.io) | 0 |
| [Moaz-Adel/Jobsity-Challenge](https://github.com/Moaz-Adel/Jobsity-Challenge) | 0 |
| [Moaz-Adel/automation-exercise-cypress](https://github.com/Moaz-Adel/automation-exercise-cypress) | 0 |
| [RecuencoJones/vscode-groovy-lint-issue](https://github.com/RecuencoJones/vscode-groovy-lint-issue) | 0 |
| [aboe026/data-structures](https://github.com/aboe026/data-structures) | 0 |
| [aboe026/shields.io-badge-results](https://github.com/aboe026/shields.io-badge-results) | 0 |
| [aboe026/software-update-checker](https://github.com/aboe026/software-update-checker) | 2 |
| [katalon-labs/katalon-recorder-extension](https://github.com/katalon-labs/katalon-recorder-extension) | 0 |
| [mashafrancis/sa-jenkins](https://github.com/mashafrancis/sa-jenkins) | 0 |
| [nvuillam/vscode-groovy-lint](https://github.com/nvuillam/vscode-groovy-lint) | 52 |
| [run2cmd/dotfiles](https://github.com/run2cmd/dotfiles) | 2 |
_Generated by [github-dependents-info](https://github.com/nvuillam/github-dependents-info)_
```
</details>
Note: If your repository packages have millions of dependents, running github-dependent-infos could take hours, as it works by browsing and scraping HTML pages returned by GitHub. For example, [angular/angular dependents](assets/angular-package-usage.md) did run during several hours !
- [Installation](#โ๏ธ-installation)
- [Usage](#๐ ๏ธ-usage)
- [Examples](#๐งช-examples)
- [Use as GitHub Action](#use-as-github-action)
_________________
## โ๏ธ Installation
```bash
pip install -U github-dependents-info
```
or install with `Poetry`
```bash
poetry add github-dependents-info
```
_________________
## ๐ ๏ธ Usage
```shell
github-dependents-info [OPTIONS]
```
| Parameter | Type | Description |
|-----------|--------|----------------------------------------------|
| --repo | String | Repository. Example: `oxsecurity/megalinter` |
| -b<br/> --badgemarkdownfile | String | _(optional)_ Path to markdown file where to insert/update **Used by** badge <br/> (must contain tags `<!-- gh-dependents-info-used-by-start -->
[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->`) |
| -s<br/> --sort | String | _(optional)_ Sort order: name (default) or stars |
| -x<br/> --minstars | String | _(optional)_ If set, filters repositories to keep only those with more than X stars |
| -m<br/> --markdownfile | String | _(optional)_ Output markdown file file |
| -d<br/> --docurl | String | _(optional)_ Hyperlink to use when clicking on badge markdown file badge. (Default: link to markdown file) |
| -p<br/> --mergepackages | String | _(optional)_ In case of multiple packages, merge their stats in a single one in markdown and json output |
| -j<br/> --json | String | _(optional)_ Output in json format |
| -v<br/> --version | Boolean | _(optional)_ Displays version of github-dependents-info |
| --verbose | Boolean | _(optional)_ Verbose output |
_________________
## ๐งช Examples
- Text output
github-dependents-info --repo nvuillam/npm-groovy-lint
- JSON output
github-dependents-info --repo nvuillam/npm-groovy-lint --json
- Insert/Update **Used by** markdown badge within an existing markdown file containing tags `<!-- gh-dependents-info-used-by-start -->
[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->`
github-dependents-info --repo nvuillam/npm-groovy-lint --badgemarkdownfile ./README.md
- Build markdown file with dependent repos (single package), sorted by name
github-dependents-info --repo nvuillam/npm-groovy-lint --markdownfile ./docs/package-usage.md --verbose
- Build markdown file with dependent repos (single package), with minimum 10 stars
github-dependents-info --repo nvuillam/npm-groovy-lint --markdownfile ./docs/package-usage.md --minstars 10 --verbose
- Build markdown file with dependent repos (multiple package), sorted by stars
github-dependents-info --repo oxsecurity/megalinter --markdownfile ./docs/package-usage.md --sort stars --verbose
- Build markdown file with dependent repos (multiple package), with merged list of packages in output markdown
github-dependents-info --repo oxsecurity/megalinter --markdownfile ./docs/package-usage.md --sort stars --mergepackages --verbose
## Use as GitHub Action
Allow GitHub Actions to create Pull Requests in **Settings > Actions > General**
![image](https://github.com/nvuillam/github-dependents-info/assets/17500430/19615cf1-001e-4479-8306-0cb30ad996f4)
Create a file **.github/workflows/github-dependents-info.yml** in your repository with the following YAML content.
If will generate a new Pull Request (or replace the pending one) every time the usage stats will have changed :)
Don't forget to add tags `<!-- gh-dependents-info-used-by-start -->
[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->` in your **README.md**, at the end of another badge line if you want github-dependents-info to replace its content automatically.
```yaml
# GitHub Dependents Info workflow
# More info at https://github.com/nvuillam/github-dependents-info/
name: GitHub Dependents Info
# Let by default
on:
# On manual launch
workflow_dispatch:
# On every push on selected branches (usually just main)
push:
branches: [main,master,setup-gdi]
# Scheduled interval: Use CRON format https://crontab.guru/
schedule:
- cron: "0 0 * * 0" # Every sunday at midnight
permissions: read-all
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
build:
name: GitHub Dependents Info
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
# Git Checkout
- name: Checkout Code
uses: actions/checkout@v4
with:
token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
fetch-depth: 0
# Collect data & generate markdown
- name: GitHub Dependents Info
uses: nvuillam/github-dependents-info@v1.5.1 # If you trust me enough you can replace version by "main" :)
# See documentation for variables details: https://github.com/nvuillam/github-dependents-info?tab=readme-ov-file#%EF%B8%8F-usage
with:
repo: ${{ github.repository }}
outputrepo: ${{ github.repository }}
# markdownfile: docs/github-dependents-info.md
# badgemarkdownfile: README.md
# sort: stars
# minstars: "0"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Workaround for git issues
- name: Prepare commit
run: sudo chown -R $USER:$USER .
# Create pull request
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
branch: github-dependents-info-auto-update
commit-message: "[GitHub Dependents Info] Updated markdown file(s)"
delete-branch: true
title: "[GitHub Dependents Info] Updated markdown file"
body: "_Generated with [github-dependents-info](https://github.com/nvuillam/github-dependents-info), by [Nicolas Vuillamy](https://github.com/nvuillam)_"
labels: documentation
- name: Create PR output
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
```
_________________
## ๐ก License
[![License](https://img.shields.io/github/license/nvuillam/github-dependents-info)](https://github.com/nvuillam/github-dependents-info/blob/master/LICENSE)
This project is licensed under the terms of the `MIT` license. See [LICENSE](https://github.com/nvuillam/github-dependents-info/blob/master/LICENSE) for more details.
_________________
## Credits [![๐ Your next Python package needs a bleeding-edge project structure.](https://img.shields.io/badge/python--package--template-%F0%9F%9A%80-brightgreen)](https://github.com/TezRomacH/python-package-template)
This package has been inspired by stackexchange post [How to use GitHub API to get a repository's dependents information in GitHub?](https://stackoverflow.com/questions/58734176/how-to-use-github-api-to-get-a-repositorys-dependents-information-in-github)
- [Bertrand Martel](https://github.com/bertrandmartel)
- [muvaf](https://stackoverflow.com/users/5233252/muvaf)
- [Mo Ganji](https://www.linkedin.com/in/mohganji/) <!-- markdown-link-check-disable-line -->
This project was generated with [`python-package-template`](https://github.com/TezRomacH/python-package-template)
Raw data
{
"_id": null,
"home_page": "https://github.com/nvuillam/github-dependents-info",
"name": "github-dependents-info",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "",
"keywords": "github,dependent,used-by,repository,stats,dependencies,using",
"author": "nvuillam",
"author_email": "nicolas.vuillamy@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/67/fb/8f9028744b9e9336fcea3e202dac2426fa63425ef97c37d2eee721f432a4/github_dependents_info-1.6.3.tar.gz",
"platform": null,
"description": "# github-dependents-info\n\n<div align=\"center\">\n\n[![PyPI](https://img.shields.io/pypi/v/github-dependents-info)](https://pypi.org/project/github-dependents-info/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/github-dependents-info)](https://pypi.org/project/github-dependents-info/)\n[![GitHub stars](https://img.shields.io/github/stars/nvuillam/github-dependents-info?cacheSeconds=3600)](https://github.com/nvuillam/github-dependents-info/stargazers/)\n[![Build status](https://github.com/nvuillam/github-dependents-info/workflows/build/badge.svg?branch=main&event=push)](https://github.com/nvuillam/github-dependents-info/actions?query=workflow%3Abuild)\n[![Python Version](https://img.shields.io/pypi/pyversions/github-dependents-info.svg)](https://pypi.org/project/github-dependents-info/)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/nvuillam/github-dependents-info/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)\n\n[![GitHub contributors](https://img.shields.io/github/contributors/nvuillam/github-dependents-info.svg)](https://github.com/nvuillam/github-dependents-info/graphs/contributors/)<!-- gh-dependents-info-used-by-start -->\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/nvuillam)](https://github.com/sponsors/nvuillam)\n[![MegaLinter](https://github.com/nvuillam/github-dependents-info/actions/workflows/mega-linter.yml/badge.svg)](https://github.com/nvuillam/github-dependents-info/actions/workflows/mega-linter.yml)\n[![License](https://img.shields.io/github/license/nvuillam/github-dependents-info)](https://github.com/nvuillam/github-dependents-info/blob/master/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n\nCollect information about dependencies between a github repo and other repositories.\n\n[![See tutorial on youtube](assets/images/youtube-preview.png)](https://www.youtube.com/watch?v=katV9w0QhTQ)\n\n</div>\n\n_________________\n## \ud83d\ude80 Features\n\nGitHub API does not allow to collect information about package usage (**Used by** on home, **Dependents** in insights section)\n\nThis package uses GitHub HTML to collect dependents information and can:\n\n- Automate all the actions below [**using a simple GitHub Action**](#use-as-github-action) !\n- Output as text\n- Output as json (including shields.io markdown badges)\n- Generate summary markdown file\n- Update existing markdown by inserting **Used by** badge within tags\n - `<!-- gh-dependents-info-used-by-start -->\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->`\n- Handle multiple repositories packages\n- Filter results using minimum stars\n\n\nBadges example\n\n[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n\n<details>\n <summary>JSON output</summary>\n\n```json\n{\n \"all_public_dependent_repos\": [\n {\n \"name\": \"CIT-SeniorDesign/CIT-SeniorDesign.github.io\",\n \"stars\": 0\n },\n {\n \"name\": \"Moaz-Adel/Jobsity-Challenge\",\n \"stars\": 0\n },\n {\n \"name\": \"Moaz-Adel/automation-exercise-cypress\",\n \"stars\": 0\n },\n {\n \"name\": \"RecuencoJones/vscode-groovy-lint-issue\",\n \"stars\": 0\n },\n {\n \"name\": \"aboe026/data-structures\",\n \"stars\": 0\n },\n {\n \"name\": \"aboe026/shields.io-badge-results\",\n \"stars\": 0\n },\n {\n \"name\": \"aboe026/software-update-checker\",\n \"stars\": 2\n },\n {\n \"name\": \"katalon-labs/katalon-recorder-extension\",\n \"stars\": 0\n },\n {\n \"name\": \"mashafrancis/sa-jenkins\",\n \"stars\": 0\n },\n {\n \"name\": \"nvuillam/vscode-groovy-lint\",\n \"stars\": 52\n },\n {\n \"name\": \"run2cmd/dotfiles\",\n \"stars\": 2\n }\n ],\n \"packages\": [\n {\n \"id\": null,\n \"name\": \"nvuillam/npm-groovy-lint\",\n \"url\": \"https://github.com/nvuillam/npm-groovy-lint/network/dependents\",\n \"public_dependent_stars\": 56,\n \"public_dependents\": [\n {\n \"name\": \"CIT-SeniorDesign/CIT-SeniorDesign.github.io\",\n \"stars\": 0\n },\n {\n \"name\": \"Moaz-Adel/Jobsity-Challenge\",\n \"stars\": 0\n },\n {\n \"name\": \"Moaz-Adel/automation-exercise-cypress\",\n \"stars\": 0\n },\n {\n \"name\": \"RecuencoJones/vscode-groovy-lint-issue\",\n \"stars\": 0\n },\n {\n \"name\": \"aboe026/data-structures\",\n \"stars\": 0\n },\n {\n \"name\": \"aboe026/shields.io-badge-results\",\n \"stars\": 0\n },\n {\n \"name\": \"aboe026/software-update-checker\",\n \"stars\": 2\n },\n {\n \"name\": \"katalon-labs/katalon-recorder-extension\",\n \"stars\": 0\n },\n {\n \"name\": \"mashafrancis/sa-jenkins\",\n \"stars\": 0\n },\n {\n \"name\": \"nvuillam/vscode-groovy-lint\",\n \"stars\": 52\n },\n {\n \"name\": \"run2cmd/dotfiles\",\n \"stars\": 2\n }\n ],\n \"public_dependents_number\": 11,\n \"private_dependents_number\": 4,\n \"total_dependents_number\": 15,\n \"badges\": {\n \"total\": \"[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\",\n \"public\": \"[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\",\n \"private\": \"[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\",\n \"stars\": \"[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\"\n }\n }\n ],\n \"total_dependents_number\": 15,\n \"public_dependents_number\": 11,\n \"private_dependents_number\": 4,\n \"public_dependents_stars\": 56,\n \"badges\": {\n \"total\": \"[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\",\n \"public\": \"[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\",\n \"private\": \"[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\",\n \"stars\": \"[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\"\n }\n}\n\n```\n</details>\n\n<details>\n <summary>Markdown output for single package</summary>\n\n```markdown\n# Dependents stats for nvuillam/npm-groovy-lint\n\n## Package nvuillam/npm-groovy-lint\n\n[![](https://img.shields.io/static/v1?label=Used%20by&message=15&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n[![](https://img.shields.io/static/v1?label=Used%20by%20(public)&message=11&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n[![](https://img.shields.io/static/v1?label=Used%20by%20(private)&message=4&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n[![](https://img.shields.io/static/v1?label=Used%20by%20(stars)&message=56&color=informational&logo=slickpic)](https://github.com/nvuillam/npm-groovy-lint/network/dependents)\n\n| Repository | Stars |\n|:--------------------------------------------------------------------------------------------------------------|------:|\n| [CIT-SeniorDesign/CIT-SeniorDesign.github.io](https://github.com/CIT-SeniorDesign/CIT-SeniorDesign.github.io) | 0 |\n| [Moaz-Adel/Jobsity-Challenge](https://github.com/Moaz-Adel/Jobsity-Challenge) | 0 |\n| [Moaz-Adel/automation-exercise-cypress](https://github.com/Moaz-Adel/automation-exercise-cypress) | 0 |\n| [RecuencoJones/vscode-groovy-lint-issue](https://github.com/RecuencoJones/vscode-groovy-lint-issue) | 0 |\n| [aboe026/data-structures](https://github.com/aboe026/data-structures) | 0 |\n| [aboe026/shields.io-badge-results](https://github.com/aboe026/shields.io-badge-results) | 0 |\n| [aboe026/software-update-checker](https://github.com/aboe026/software-update-checker) | 2 |\n| [katalon-labs/katalon-recorder-extension](https://github.com/katalon-labs/katalon-recorder-extension) | 0 |\n| [mashafrancis/sa-jenkins](https://github.com/mashafrancis/sa-jenkins) | 0 |\n| [nvuillam/vscode-groovy-lint](https://github.com/nvuillam/vscode-groovy-lint) | 52 |\n| [run2cmd/dotfiles](https://github.com/run2cmd/dotfiles) | 2 |\n\n_Generated by [github-dependents-info](https://github.com/nvuillam/github-dependents-info)_\n```\n</details>\n\nNote: If your repository packages have millions of dependents, running github-dependent-infos could take hours, as it works by browsing and scraping HTML pages returned by GitHub. For example, [angular/angular dependents](assets/angular-package-usage.md) did run during several hours !\n\n- [Installation](#\u2699\ufe0f-installation)\n- [Usage](#\ud83d\udee0\ufe0f-usage)\n- [Examples](#\ud83e\uddea-examples)\n- [Use as GitHub Action](#use-as-github-action)\n\n_________________\n## \u2699\ufe0f Installation\n\n```bash\npip install -U github-dependents-info\n```\n\nor install with `Poetry`\n\n```bash\npoetry add github-dependents-info\n```\n\n_________________\n## \ud83d\udee0\ufe0f Usage\n\n```shell\n github-dependents-info [OPTIONS]\n```\n\n| Parameter | Type | Description |\n|-----------|--------|----------------------------------------------|\n| --repo | String | Repository. Example: `oxsecurity/megalinter` |\n| -b<br/> --badgemarkdownfile | String | _(optional)_ Path to markdown file where to insert/update **Used by** badge <br/> (must contain tags `<!-- gh-dependents-info-used-by-start -->\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->`) |\n| -s<br/> --sort | String | _(optional)_ Sort order: name (default) or stars |\n| -x<br/> --minstars | String | _(optional)_ If set, filters repositories to keep only those with more than X stars |\n| -m<br/> --markdownfile | String | _(optional)_ Output markdown file file |\n| -d<br/> --docurl | String | _(optional)_ Hyperlink to use when clicking on badge markdown file badge. (Default: link to markdown file) |\n| -p<br/> --mergepackages | String | _(optional)_ In case of multiple packages, merge their stats in a single one in markdown and json output |\n| -j<br/> --json | String | _(optional)_ Output in json format |\n| -v<br/> --version | Boolean | _(optional)_ Displays version of github-dependents-info |\n| --verbose | Boolean | _(optional)_ Verbose output |\n\n_________________\n## \ud83e\uddea Examples\n\n- Text output\n\n github-dependents-info --repo nvuillam/npm-groovy-lint\n\n- JSON output\n\n github-dependents-info --repo nvuillam/npm-groovy-lint --json\n\n- Insert/Update **Used by** markdown badge within an existing markdown file containing tags `<!-- gh-dependents-info-used-by-start -->\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->`\n\n github-dependents-info --repo nvuillam/npm-groovy-lint --badgemarkdownfile ./README.md\n\n- Build markdown file with dependent repos (single package), sorted by name\n\n github-dependents-info --repo nvuillam/npm-groovy-lint --markdownfile ./docs/package-usage.md --verbose\n\n- Build markdown file with dependent repos (single package), with minimum 10 stars\n\n github-dependents-info --repo nvuillam/npm-groovy-lint --markdownfile ./docs/package-usage.md --minstars 10 --verbose\n\n- Build markdown file with dependent repos (multiple package), sorted by stars\n\n github-dependents-info --repo oxsecurity/megalinter --markdownfile ./docs/package-usage.md --sort stars --verbose\n\n- Build markdown file with dependent repos (multiple package), with merged list of packages in output markdown\n\n github-dependents-info --repo oxsecurity/megalinter --markdownfile ./docs/package-usage.md --sort stars --mergepackages --verbose\n\n## Use as GitHub Action\n\nAllow GitHub Actions to create Pull Requests in **Settings > Actions > General**\n\n![image](https://github.com/nvuillam/github-dependents-info/assets/17500430/19615cf1-001e-4479-8306-0cb30ad996f4)\n\nCreate a file **.github/workflows/github-dependents-info.yml** in your repository with the following YAML content.\n\nIf will generate a new Pull Request (or replace the pending one) every time the usage stats will have changed :)\n\nDon't forget to add tags `<!-- gh-dependents-info-used-by-start -->\n[![Generated by github-dependents-info](https://img.shields.io/static/v1?label=Used%20by&message=10&color=informational&logo=slickpic)](https://github.com/nvuillam/github-dependents-info/blob/main/docs/github-dependents-info.md)<!-- gh-dependents-info-used-by-end -->` in your **README.md**, at the end of another badge line if you want github-dependents-info to replace its content automatically.\n\n```yaml\n# GitHub Dependents Info workflow\n# More info at https://github.com/nvuillam/github-dependents-info/\nname: GitHub Dependents Info\n\n# Let by default\non:\n # On manual launch\n workflow_dispatch:\n # On every push on selected branches (usually just main)\n push:\n branches: [main,master,setup-gdi]\n # Scheduled interval: Use CRON format https://crontab.guru/\n schedule:\n - cron: \"0 0 * * 0\" # Every sunday at midnight\n\npermissions: read-all\n\nconcurrency:\n group: ${{ github.ref }}-${{ github.workflow }}\n cancel-in-progress: true\n\njobs:\n build:\n name: GitHub Dependents Info\n runs-on: ubuntu-latest\n permissions:\n contents: write\n pull-requests: write\n steps:\n # Git Checkout\n - name: Checkout Code\n uses: actions/checkout@v4\n with:\n token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}\n fetch-depth: 0\n\n # Collect data & generate markdown\n - name: GitHub Dependents Info\n uses: nvuillam/github-dependents-info@v1.5.1 # If you trust me enough you can replace version by \"main\" :)\n # See documentation for variables details: https://github.com/nvuillam/github-dependents-info?tab=readme-ov-file#%EF%B8%8F-usage\n with:\n repo: ${{ github.repository }}\n outputrepo: ${{ github.repository }}\n # markdownfile: docs/github-dependents-info.md\n # badgemarkdownfile: README.md\n # sort: stars\n # minstars: \"0\"\n env:\n GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n # Workaround for git issues\n - name: Prepare commit\n run: sudo chown -R $USER:$USER .\n\n # Create pull request\n - name: Create Pull Request\n id: cpr\n uses: peter-evans/create-pull-request@v6\n with:\n token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}\n branch: github-dependents-info-auto-update\n commit-message: \"[GitHub Dependents Info] Updated markdown file(s)\"\n delete-branch: true\n title: \"[GitHub Dependents Info] Updated markdown file\"\n body: \"_Generated with [github-dependents-info](https://github.com/nvuillam/github-dependents-info), by [Nicolas Vuillamy](https://github.com/nvuillam)_\"\n labels: documentation\n - name: Create PR output\n run: |\n echo \"Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}\"\n echo \"Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}\"\n```\n\n_________________\n## \ud83d\udee1 License\n\n[![License](https://img.shields.io/github/license/nvuillam/github-dependents-info)](https://github.com/nvuillam/github-dependents-info/blob/master/LICENSE)\n\nThis project is licensed under the terms of the `MIT` license. See [LICENSE](https://github.com/nvuillam/github-dependents-info/blob/master/LICENSE) for more details.\n\n_________________\n## Credits [![\ud83d\ude80 Your next Python package needs a bleeding-edge project structure.](https://img.shields.io/badge/python--package--template-%F0%9F%9A%80-brightgreen)](https://github.com/TezRomacH/python-package-template)\n\nThis package has been inspired by stackexchange post [How to use GitHub API to get a repository's dependents information in GitHub?](https://stackoverflow.com/questions/58734176/how-to-use-github-api-to-get-a-repositorys-dependents-information-in-github)\n- [Bertrand Martel](https://github.com/bertrandmartel)\n- [muvaf](https://stackoverflow.com/users/5233252/muvaf)\n- [Mo Ganji](https://www.linkedin.com/in/mohganji/) <!-- markdown-link-check-disable-line -->\n\nThis project was generated with [`python-package-template`](https://github.com/TezRomacH/python-package-template)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Collect information about dependencies between a github repo and other repositories. Results available in JSON, markdown and badges.",
"version": "1.6.3",
"project_urls": {
"Homepage": "https://github.com/nvuillam/github-dependents-info",
"Repository": "https://github.com/nvuillam/github-dependents-info"
},
"split_keywords": [
"github",
"dependent",
"used-by",
"repository",
"stats",
"dependencies",
"using"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e003c76e168eac062ce30671cec3b1aaf6e0da187ea2c9feaca27b186fc7a224",
"md5": "fa954973c3ad48bb6facf352eb283339",
"sha256": "ce0ec848998d0de64a0960076abfb2860c1d97a0e0e4bcaf216ea75a5c4568d9"
},
"downloads": -1,
"filename": "github_dependents_info-1.6.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fa954973c3ad48bb6facf352eb283339",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 14053,
"upload_time": "2024-03-03T23:00:59",
"upload_time_iso_8601": "2024-03-03T23:00:59.514772Z",
"url": "https://files.pythonhosted.org/packages/e0/03/c76e168eac062ce30671cec3b1aaf6e0da187ea2c9feaca27b186fc7a224/github_dependents_info-1.6.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "67fb8f9028744b9e9336fcea3e202dac2426fa63425ef97c37d2eee721f432a4",
"md5": "b777868e807d7dbaccd626341d7080dd",
"sha256": "f74c3b12c4519368b6911fd2f2d8ffae8b28f088fa850951d0ffb1d368d63666"
},
"downloads": -1,
"filename": "github_dependents_info-1.6.3.tar.gz",
"has_sig": false,
"md5_digest": "b777868e807d7dbaccd626341d7080dd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 18759,
"upload_time": "2024-03-03T23:01:01",
"upload_time_iso_8601": "2024-03-03T23:01:01.634800Z",
"url": "https://files.pythonhosted.org/packages/67/fb/8f9028744b9e9336fcea3e202dac2426fa63425ef97c37d2eee721f432a4/github_dependents_info-1.6.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-03 23:01:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nvuillam",
"github_project": "github-dependents-info",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "github-dependents-info"
}