https://github.com/github-tooling/ghtopdep
:star: CLI tool for sorting dependents repo by stars
https://github.com/github-tooling/ghtopdep
cli dependencies github
Last synced: 7 months ago
JSON representation
:star: CLI tool for sorting dependents repo by stars
- Host: GitHub
- URL: https://github.com/github-tooling/ghtopdep
- Owner: github-tooling
- License: mit
- Created: 2019-08-18T11:52:01.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-04T00:35:17.000Z (about 1 year ago)
- Last Synced: 2024-10-04T06:45:42.017Z (about 1 year ago)
- Topics: cli, dependencies, github
- Language: Python
- Homepage:
- Size: 146 KB
- Stars: 257
- Watchers: 5
- Forks: 18
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GHTOPDEP
[](https://pypi.org/project/ghtopdep/)
[](https://pypi.org/project/ghtopdep/)
[](https://pypi.org/project/ghtopdep/)CLI tool for sorting dependents repo by stars
## Requirements
- Python 3.5 and up
- Python development libraries## Installation
### From PyPI
```sh
$ pip install ghtopdep
```### From git repository
```sh
$ pip install git+https://github.com/github-tooling/ghtopdep.git#egg=ghtopdep
```### From source
```sh
$ git clone https://github.com/github-tooling/ghtopdep
$ cd ghtopdep
$ python setup.py install
```### Using docker (from source)
First `docker build` the image once:
```sh
$ git clone https://github.com/github-tooling/ghtopdep
$ cd ghtopdep
$ docker build . -t ghtopdep
```Then you can `docker run` it:
```sh
$ docker run --rm -it ghtopdep --help
```## Python development Installation
### Ubuntu/Debian
```sh
sudo apt install python3-dev
```### CentOS/RHEL
```sh
sudo yum install python3-devel
```## Version upgrade
```sh
โ pip install --upgrade ghtopdep
```## Usage
If you want retrieve packages or repositories description you need pass token.
To prevent rale limit being exceeded for unauthentIcated requests, ghtopdep needs an access token.
For public repositories, [create a token](https://github.com/settings/tokens/new?scopes=public_repo&description=ghtopdep)
with the public_repo permission.You can use token as environment variable `GHTOPDEP_TOKEN` at `~/.bashrc` or `~/.zshrc`
export GHTOPDEP_TOKEN="**\*\*\*\***\*\***\*\*\*\***\*\*\*\***\*\*\*\***\*\***\*\*\*\***"
or pass token as option --token
```sh
โ ghtopdep --help
Usage: ghtopdep [OPTIONS] URLOptions:
--repositories / --packages Sort repositories or packages (default
repositories)
--table / --json View mode
--description Show description of packages or repositories
(performs additional request per repository)
--rows INTEGER Number of showing repositories (default=10)
--minstar INTEGER Minimum number of stars (default=5)
--search TEXT search code at dependents
(repositories/packages)
--token TEXT
--help Show this message and exit.
```### Table view (by default)
```sh
โ ghtopdep https://github.com/dropbox/dropbox-sdk-js
| url | stars |
|---------------------------------------------------|---------|
| https://github.com/transloadit/uppy | 21K |
| https://github.com/codesandbox/codesandbox-client | 8.6K |
| https://github.com/joemccann/dillinger | 6.5K |
| https://github.com/keplergl/kepler.gl | 5.8K |
| https://github.com/jitsi/jitsi-meet | 4.5K |
| https://github.com/jsbin/jsbin | 4.0K |
| https://github.com/NorthwoodsSoftware/GoJS | 3.8K |
| https://github.com/buttercup/buttercup-desktop | 3.1K |
| https://github.com/openstyles/stylus | 2.3K |
| https://github.com/mickael-kerjean/filestash | 2.0K |
found 1660 repositories others repositories are private
found 443 repositories with more than zero star
~ via โฌข v12.5.0 via ๐ v7.2.19 via ๐ 3.8.0 took 2m 57s
```### JSON view
```sh
โ ghtopdep https://github.com/dropbox/dropbox-sdk-js --json
[{"url": "https://github.com/transloadit/uppy", "stars": 21191}, {"url": "https://github.com/codesandbox/codesandbox-client", "stars": 8386}, {"url": "https://github.com/joemccann/dillinger", "stars": 6491}, {"url": "https://github.com/keplergl/kepler.gl", "stars": 5615}, {"url": "https://github.com/jitsi/jitsi-meet", "stars": 4303}, {"url": "https://github.com/jsbin/jsbin", "stars": 3947}, {"url": "https://github.com/NorthwoodsSoftware/GoJS", "stars": 3692}, {"url": "https://github.com/buttercup/buttercup-desktop", "stars": 3054}, {"url": "https://github.com/openstyles/stylus", "stars": 2219}, {"url": "https://github.com/mickael-kerjean/filestash", "stars": 1869}]
```you can sort packages and fetch their description
```sh
โ ghtopdep https://github.com/dropbox/dropbox-sdk-js --description --packages
| url | stars | description |
|------------------------------------------------|---------|--------------------------------------------------------------|
| https://github.com/jsbin/jsbin | 4.0K | Collaborative JavaScript Debugging App |
| https://github.com/jvilk/BrowserFS | 1.9K | BrowserFS is an in-browser filesystem that emulates the... |
| https://github.com/coderaiser/cloudcmd | 1.1K | โจโ๏ธ๐โจ Cloud Commander file manager for the web with... |
| https://github.com/node-red/node-red-web-nodes | 153 | A collection of node-red nodes aimed at web services |
| https://github.com/robertknight/passcards | 133 | A 1Password-compatible command-line and web-based... |
| https://github.com/enyojs/ares-project | 125 | A browser-based code editor and UI designer for Enyo 2... |
| https://github.com/transloadit/uppy-server | 114 | [DEPRECATED] 'Uppy Server' was renamed to 'Companion' and... |
| https://github.com/bioimagesuiteweb/bisweb | 34 | This is the repository for the BioImage Suite Web Project |
| https://github.com/sallar/dropbox-fs | 30 | :package: Node FS wrapper for Dropbox |
| https://github.com/filefog/filefog | 26 | A thin cloud-service agnostic wrapper/interface to access... |
found 140 packages others packages are private
found 61 packages with more than zero star
```also ghtopdep support code searching at dependents (repositories/packages)
```sh
โ ghtopdep https://github.com/rob-balfre/svelte-select --search=isMulti --minstar=0
https://github.com/andriyor/linkorg-frontend/blob/7eed49c332f127c8541281b85def80e54c882920/src/App.svelte with 0 stars
https://github.com/andriyor/linkorg-frontend/blob/7eed49c332f127c8541281b85def80e54c882920/src/providers/Post.svelte with 0 stars
https://github.com/jdgaravito/bitagora_frontend/blob/776a23f5e848995d3eba90563d55c96429470c48/src/Events/AddEvent.svelte with 0 stars
https://github.com/gopear/OlcsoSor/blob/b1fa1d877a59f7daf41a86fecb21137c91652d77/src/routes/index.svelte with 3 stars
https://github.com/openstate/allmanak/blob/ff9ac0833e5e63f7c17f99c5c2355b4e46c48148/app/src/routes/index.svelte with 3 stars
https://github.com/openstate/allmanak/blob/e6d7aa72a8878eefc6f63a27c983894de1cef294/app/src/components/ReportForm.svelte with 3 stars
https://github.com/wolbodo/members/blob/d091f1e44b4e8cb8cc31f39ea6f6e9c36211d019/sapper/src/components/Member.html with 1 stars
```## Development setup
Using [Poetry](https://poetry.eustace.io/docs/)
```sh
$ poetry install
$ poetry run ghtopdep https://github.com/dropbox/dropbox-sdk-js
$ dephell deps convert --from=pyproject.toml --to=setup.py
$ poetry build
$ poetry publish
```[poetry2setup: Convert python-poetry(pyproject.toml) to setup.py.](https://github.com/abersheeran/poetry2setup)
or [Pipenv](https://docs.pipenv.org/)
```sh
$ pipenv install --dev -e .
```## License
[MIT](https://choosealicense.com/licenses/mit/)
## Alternatives
[ghtracker](https://github.com/zer0yu/ghtracker) - not provide full result https://github.com/zer0yu/ghtracker/issues/2
[github-by-stars](https://github.com/hacker-DOM/github-by-stars) - complex setup
## References
[Allow dependents to be sorted by stars ยท Issue #1537 ยท isaacs/github](https://github.com/isaacs/github/issues/1537)
[Sorting the insights dependency graph lists ยท community ยท Discussion #5575](https://github.com/orgs/community/discussions/5575)