# git-neko
CLI for downloading all repositories from a specified user.
## Requirements
`requests` is used to get information from the Github API and download the repositories (if you don't use -g/--git to download using git).
Note that `requests` will not download submodules but git will.
If you want to build this on your own, you can install the requirements with
```Python
pip install -r requirements.txt
```
or install the package by running
```Python
pip install git-neko
```
Python's native `os` (used to check for whether a folder exists or not), `argparse` (parse return request and set command argument), `subprocess` (call `git clone` and `git pull` on repositories) and `setuptools` (used to build the script) packages are also used.
## How it works
I send requests to `https://api.github.com/users/{username}/repos` or `https://api.github.com/user/repos`, depending on the arguments passed to the script, I either download all the repositories in specified user's account with either `requests` or `git`.
You can run the script with
```Python
git-neko
-u <github-username>
-t <github-personal-access-token> (optional - you will just download the public repositories instead of all repositories)
-e (optional - means you will be using environment variables. This overrides -u and -t)
-g (optional - means you will be downloading using git)
-gu <github-username> (this will set <github-username> as environment variable)
-gpat <github-personal-access-token> (this will set <github-personal-access-token> as environment variable)
```
### Examples
#### Setting Environment Variables
This will set the specified **Github username** and **personal access token** as your `GITHUB_USERNAME` and `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable respectively. On Linux this is a bit buggy.
```Python
git-neko -gu <github-username> -gpat <github-personal-access-token>
```
This will set the specified **Github username** as your `GITHUB_USERNAME` environment variable. On Linux this is a bit buggy.
```Python
git-neko -gu <github-username>
```
This will set the specified **personal access token** as your `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable. On Linux this is a bit buggy.
```Python
git-neko -gpat <github-personal-access-token>
```
#### Public Repositories without Environment Variables
This will use the specified **Github username** and download all **public repositories** using `requests`.
```Python
git-neko -u <github-username> -t <github-personal-access-token>
```
This will use the specified **Github username** and download all **public repositories** using `git`.
```Python
git-neko -u <github-username> -t <github-personal-access-token> -g <anything>
```
#### Public and Private Repositories without Environment Variables
This will use the specified **Github username** and **personal access token** and download all **public and private repositories** using `requests`.
```Python
git-neko -u <github-username> -t <github-personal-access-token>
```
This will use the specified **Github username** and **personal access token** and download all **public and private repositories** using `git`.
```Python
git-neko -u <github-username> -t <github-personal-access-token> -g <anything>
```
#### Public and Private Repositories with Environment Variables
This will use the **Github username** and **personal access token** in the **environment variables** and download all **public and private repositories** using `requests`.
```Python
git-neko -e <anything>
```
This will use the **Github username** and **personal access token** in the **environment variables** and download all **public and private repositories** using `git`.
```Python
git-neko -e <anything> -g <anything>
```
#### Public and Private Repositories with Environment Variables (Overriding passed Username and Personal Access Token)
This will **ignore** the passed **Github username** and **personal access token** instead using **environment variables** and download all **public and private repositories** using `requests`.
```Python
git-neko -u <github-username> -t <github-personal-access-token> -e <anything>
```
This will **ignore** the passed **Github username** and **personal access token** instead using **environment variables** and download all **public and private repositories** using `git`.
```Python
git-neko -u <github-username> -t <github-personal-access-token> -e <anything> -g <anything>
```
### Simplified Examples
If you want to only download your repositories (public), you can do
```Python
git-neko -u <your-username>
```
If you want to only download your repositories (public and private), you can either do
```Python
git-neko -u <your-username> -t <your-personal-access-token>
```
or you can put your information on environment variables and do
```Python
git-neko -e <anything>
```
If you want to download other people's repositories (public), you can do
```Python
git-neko -u <their-username>
```
If you want to download other people's repositories (public and private), you can do
```Python
git-neko -u <their-username> -t <their-personal-access-token>
```
Raw data
{
"_id": null,
"home_page": "https://github.com/NecRaul/git-neko",
"name": "git-neko",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "python,repository downloader,downloader,repository,git-neko,kuroneko",
"author": "NecRaul",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/74/fa/99ed1a9c38710134e2b7d9a73943831e88d6d82b06e6503a93479d66967e/git_neko-1.21.tar.gz",
"platform": null,
"description": "# git-neko\n\nCLI for downloading all repositories from a specified user.\n\n## Requirements\n\n`requests` is used to get information from the Github API and download the repositories (if you don't use -g/--git to download using git).\n\nNote that `requests` will not download submodules but git will.\n\nIf you want to build this on your own, you can install the requirements with\n\n```Python\npip install -r requirements.txt\n```\n\nor install the package by running\n\n```Python\npip install git-neko\n```\n\nPython's native `os` (used to check for whether a folder exists or not), `argparse` (parse return request and set command argument), `subprocess` (call `git clone` and `git pull` on repositories) and `setuptools` (used to build the script) packages are also used.\n\n## How it works\n\nI send requests to `https://api.github.com/users/{username}/repos` or `https://api.github.com/user/repos`, depending on the arguments passed to the script, I either download all the repositories in specified user's account with either `requests` or `git`.\n\nYou can run the script with\n\n```Python\ngit-neko\n -u <github-username>\n -t <github-personal-access-token> (optional - you will just download the public repositories instead of all repositories)\n -e (optional - means you will be using environment variables. This overrides -u and -t)\n -g (optional - means you will be downloading using git)\n -gu <github-username> (this will set <github-username> as environment variable)\n -gpat <github-personal-access-token> (this will set <github-personal-access-token> as environment variable)\n```\n\n### Examples\n\n#### Setting Environment Variables\n\nThis will set the specified **Github username** and **personal access token** as your `GITHUB_USERNAME` and `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable respectively. On Linux this is a bit buggy.\n\n```Python\ngit-neko -gu <github-username> -gpat <github-personal-access-token>\n```\n\nThis will set the specified **Github username** as your `GITHUB_USERNAME` environment variable. On Linux this is a bit buggy.\n\n```Python\ngit-neko -gu <github-username>\n```\n\nThis will set the specified **personal access token** as your `GITHUB_PERSONAL_ACCESS_TOKEN` environment variable. On Linux this is a bit buggy.\n\n```Python\ngit-neko -gpat <github-personal-access-token>\n```\n\n#### Public Repositories without Environment Variables\n\nThis will use the specified **Github username** and download all **public repositories** using `requests`.\n\n```Python\ngit-neko -u <github-username> -t <github-personal-access-token>\n```\n\nThis will use the specified **Github username** and download all **public repositories** using `git`.\n\n```Python\ngit-neko -u <github-username> -t <github-personal-access-token> -g <anything>\n```\n\n#### Public and Private Repositories without Environment Variables\n\nThis will use the specified **Github username** and **personal access token** and download all **public and private repositories** using `requests`.\n\n```Python\ngit-neko -u <github-username> -t <github-personal-access-token>\n```\n\nThis will use the specified **Github username** and **personal access token** and download all **public and private repositories** using `git`.\n\n```Python\ngit-neko -u <github-username> -t <github-personal-access-token> -g <anything>\n```\n\n#### Public and Private Repositories with Environment Variables\n\nThis will use the **Github username** and **personal access token** in the **environment variables** and download all **public and private repositories** using `requests`.\n\n```Python\ngit-neko -e <anything>\n```\n\nThis will use the **Github username** and **personal access token** in the **environment variables** and download all **public and private repositories** using `git`.\n\n```Python\ngit-neko -e <anything> -g <anything>\n```\n\n#### Public and Private Repositories with Environment Variables (Overriding passed Username and Personal Access Token)\n\nThis will **ignore** the passed **Github username** and **personal access token** instead using **environment variables** and download all **public and private repositories** using `requests`.\n\n```Python\ngit-neko -u <github-username> -t <github-personal-access-token> -e <anything>\n```\n\nThis will **ignore** the passed **Github username** and **personal access token** instead using **environment variables** and download all **public and private repositories** using `git`.\n\n```Python\ngit-neko -u <github-username> -t <github-personal-access-token> -e <anything> -g <anything>\n```\n\n### Simplified Examples\n\nIf you want to only download your repositories (public), you can do\n\n```Python\ngit-neko -u <your-username>\n```\n\nIf you want to only download your repositories (public and private), you can either do\n\n```Python\ngit-neko -u <your-username> -t <your-personal-access-token>\n```\n\nor you can put your information on environment variables and do\n\n```Python\ngit-neko -e <anything>\n```\n\nIf you want to download other people's repositories (public), you can do\n\n```Python\ngit-neko -u <their-username>\n```\n\nIf you want to download other people's repositories (public and private), you can do\n\n```Python\ngit-neko -u <their-username> -t <their-personal-access-token>\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "CLI for downloading all repositories from a specified user.",
"version": "1.21",
"project_urls": {
"Documentation": "https://github.com/NecRaul/git-neko#readme",
"Homepage": "https://github.com/NecRaul/git-neko",
"Source": "https://github.com/NecRaul/git-neko"
},
"split_keywords": [
"python",
"repository downloader",
"downloader",
"repository",
"git-neko",
"kuroneko"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f2f912ca09d4afc8295a6f3a6ee20e56513e9c227dc601a59275c8e15a8041e4",
"md5": "c37e7a77897cbec720567a3bf39fb744",
"sha256": "ddeed84ba16357de4958716319cdbfff367c5312978e16dca5ba7016dbb06932"
},
"downloads": -1,
"filename": "git_neko-1.21-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c37e7a77897cbec720567a3bf39fb744",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 14551,
"upload_time": "2024-02-24T10:26:28",
"upload_time_iso_8601": "2024-02-24T10:26:28.941871Z",
"url": "https://files.pythonhosted.org/packages/f2/f9/12ca09d4afc8295a6f3a6ee20e56513e9c227dc601a59275c8e15a8041e4/git_neko-1.21-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "74fa99ed1a9c38710134e2b7d9a73943831e88d6d82b06e6503a93479d66967e",
"md5": "0f090ce14d0c072baf8ecf4f89033c20",
"sha256": "151d1c0aa23d5f0074bcf97db1e49549dc1114c7b1d2eb6759511a1265a66708"
},
"downloads": -1,
"filename": "git_neko-1.21.tar.gz",
"has_sig": false,
"md5_digest": "0f090ce14d0c072baf8ecf4f89033c20",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13713,
"upload_time": "2024-02-24T10:26:30",
"upload_time_iso_8601": "2024-02-24T10:26:30.720726Z",
"url": "https://files.pythonhosted.org/packages/74/fa/99ed1a9c38710134e2b7d9a73943831e88d6d82b06e6503a93479d66967e/git_neko-1.21.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-24 10:26:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NecRaul",
"github_project": "git-neko",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.31.0"
]
]
}
],
"lcname": "git-neko"
}