Skip to main content

Clone repos from an organization by languge used in the repo

Project description

Clone GitHub namespace

Clone an organization's repos.

Clone an organization's repos. Clone all repos in an organization or some by language used.

    $ clone-org -o kubernetes-client -p https -f ~/dev/kub-client-repos -l python,go

A common situation that folks find themselves in when starting to work with an organization is the ability to check out all the code and essentially familiarize themselves with the code base and even grep the code base looking for things. clone-org is designed to lessen the pain and give you a one-stop clone the organization toolkit. This module queries the GitHub graphql endpoint.

Clone-org uses the installed version of git on your machine and executes shell commands.

Currently, clone-org only supports GitHub and other cloud providers will be tested in the future.

For https remotes

You must have 'GITHUB_TOKEN' defined in your environment for the organization to be queried. The clone may be optionally either https or ssh

For ssh remotes

You must have your ssh keys set up in current shell.

Installing

    $ pip install clone-org

A Simple Example

    $ clone-org -o kubernetes-client -p https -f ~/dev/kub-client-repos

Help

    $ clone-org -h
usage: clone-org [-h] [-o ORGANIZATION] [-l LANGUAGES] [-p {https,ssh}]
                 [-f FOLDER] [-c] [-d] [-v]

Clone an organization's repos. A common situation that folks find themselves in when starting to work with an organization is the ability to check out all the code and essentially familiarize themselves with the code base and even grep the code base looking for things. clone-org is designed to lessen the pain and give you a one-stop clone the organization toolkit. This module queries the GitHub graphql endpoint.

Clone-org uses the installed version of git on your machine and executes shell commands.

Currently, clone-org only supports GitHub and other cloud providers will be tested in the future.

For https remotes

You must have 'GITHUB_TOKEN' defined in your environment for the organization to be queried. The clone may be optionally either https or ssh

For ssh remotes

You must have your ssh keys set up in current shell.

options:
  -h, --help            show this help message and exit
  -o ORGANIZATION, --organization ORGANIZATION
                        The organization in Github that you wish to clone all
                        the repositories for
  -l LANGUAGES, --languages LANGUAGES
                        Github classes languages with well known names such as
                        Python, Go, shell etc. You may pass a filter -l python
                        and it will compare it to the given primary language
                        assigned to the repo. Comma separated strings such as
                        python,java,javascript are also accepted. Names are
                        defined by github in the github/linguist repo.
  -p {https,ssh}, --protocol {https,ssh}
                        The protocol to use either https , which will require
                        GITHUB_TOKEN to be defined in your environment
                        variables. Or ssh which will require that you have
                        your ssh keys set up in current shell.
  -f FOLDER, --folder FOLDER
                        The target folder should be a fully qualified name and
                        the directory structures tested are OSx and Linux. An
                        example would be -f /home/Users/alice/dev/
  -c, --create          To create the target folder set this flag and the
                        directory structure will be created if possible An
                        example would be clone-org -o your_org_name -p https
                        -f ~/temp/my_repos -c
  -d, --dry-run         The user may simply wish to query the organization
                        before cloning. The dry run option will print out the
                        repositories in the organization specified and exit.
  -v, --version         Print version and exit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clone_org-1.0.4.tar.gz (77.7 kB view details)

Uploaded Source

Built Distribution

clone_org-1.0.4-py3-none-any.whl (81.0 kB view details)

Uploaded Python 3

File details

Details for the file clone_org-1.0.4.tar.gz.

File metadata

  • Download URL: clone_org-1.0.4.tar.gz
  • Upload date:
  • Size: 77.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.2 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for clone_org-1.0.4.tar.gz
Algorithm Hash digest
SHA256 e74c7349c09be2912819e54b216bf1d7d75711f3027aff7e2f368b8877b52855
MD5 6e336d79807b2ea736ced59fa9b9be4b
BLAKE2b-256 be02abc8884d422de551b570dee896718846c5e3ef894effd482aa505fb7a7e1

See more details on using hashes here.

File details

Details for the file clone_org-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: clone_org-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 81.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.2 Linux/6.8.0-76060800daily20240311-generic

File hashes

Hashes for clone_org-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 03b2713773b096fc5fe11da4d2f5f97d2a6cbd272cd3cf266eb98fde1b5255f3
MD5 c479753852c15ee670d4114aac5dec52
BLAKE2b-256 ff97e297a12c9cae268fec8c70d6d90cab68e3d042f9e40a611c1dae0e08db4a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page