Skip to content

Instantly share code, notes, and snippets.

@byjg
Created November 29, 2018 03:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save byjg/375c3365c16e1f7598e195ec30cbd663 to your computer and use it in GitHub Desktop.
Save byjg/375c3365c16e1f7598e195ec30cbd663 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
""" Print all of the clone-urls for a GitHub organization.
It requires the pygithub3 module, which you can install like this:
$ sudo yum -y install python-virtualenv
$ mkdir scratch
$ cd scratch
$ virtualenv my-virtualenv
$ source my-virtualenv/bin/activate
$ pip install pygithub3
Usage example::
$ python list-all-repos.py
Advanced usage. This will actually clone all the repos for a
GitHub organization or user::
$ for url in $(python list-all-repos.py); do git clone $url; done
"""
import pygithub3
gh = None
def gather_clone_urls(organization, no_forks=True):
all_repos = gh.repos.list(user=organization).all()
for repo in all_repos:
# Don't print the urls for repos that are forks.
if no_forks and repo.fork:
continue
yield repo
if __name__ == '__main__':
gh = pygithub3.Github()
repos = gather_clone_urls("byjg")
for repo in repos:
print repo.clone_url
print repo.description
print
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment