{"id":20691719,"url":"https://github.com/necraul/git-neko","last_synced_at":"2025-10-20T01:36:22.748Z","repository":{"id":216392391,"uuid":"740741212","full_name":"NecRaul/git-neko","owner":"NecRaul","description":"CLI for downloading all repositories from a specified user","archived":false,"fork":false,"pushed_at":"2024-02-24T10:25:50.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-26T05:06:44.949Z","etag":null,"topics":["downloader","git-api","git-cli","git-neko","kuroneko","python","python3","repository","requests"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/git-neko/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NecRaul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-09T01:02:46.000Z","updated_at":"2024-03-23T22:00:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"3cde687f-53ec-49e1-9d97-4be761522666","html_url":"https://github.com/NecRaul/git-neko","commit_stats":null,"previous_names":["necraul/git-neko"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NecRaul%2Fgit-neko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NecRaul%2Fgit-neko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NecRaul%2Fgit-neko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NecRaul%2Fgit-neko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NecRaul","download_url":"https://codeload.github.com/NecRaul/git-neko/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242954603,"owners_count":20212194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["downloader","git-api","git-cli","git-neko","kuroneko","python","python3","repository","requests"],"created_at":"2024-11-16T23:17:40.984Z","updated_at":"2025-10-20T01:36:17.704Z","avatar_url":"https://github.com/NecRaul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 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 \u003cgithub-username\u003e\n    -t \u003cgithub-personal-access-token\u003e (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 \u003cgithub-username\u003e (this will set \u003cgithub-username\u003e as environment variable)\n    -gpat \u003cgithub-personal-access-token\u003e (this will set \u003cgithub-personal-access-token\u003e 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 \u003cgithub-username\u003e -gpat \u003cgithub-personal-access-token\u003e\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 \u003cgithub-username\u003e\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 \u003cgithub-personal-access-token\u003e\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 \u003cgithub-username\u003e -t \u003cgithub-personal-access-token\u003e\n```\n\nThis will use the specified **Github username** and download all **public repositories** using `git`.\n\n```Python\ngit-neko -u \u003cgithub-username\u003e -t \u003cgithub-personal-access-token\u003e -g \u003canything\u003e\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 \u003cgithub-username\u003e -t \u003cgithub-personal-access-token\u003e\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 \u003cgithub-username\u003e -t \u003cgithub-personal-access-token\u003e -g \u003canything\u003e\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 \u003canything\u003e\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 \u003canything\u003e -g \u003canything\u003e\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 \u003cgithub-username\u003e -t \u003cgithub-personal-access-token\u003e -e \u003canything\u003e\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 \u003cgithub-username\u003e -t \u003cgithub-personal-access-token\u003e -e \u003canything\u003e -g \u003canything\u003e\n```\n\n### Simplified Examples\n\nIf you want to only download your repositories (public), you can do\n\n```Python\ngit-neko -u \u003cyour-username\u003e\n```\n\nIf you want to only download your repositories (public and private), you can either do\n\n```Python\ngit-neko -u \u003cyour-username\u003e -t \u003cyour-personal-access-token\u003e\n```\n\nor you can put your information on environment variables and do\n\n```Python\ngit-neko -e \u003canything\u003e\n```\n\nIf you want to download other people's repositories (public), you can do\n\n```Python\ngit-neko -u \u003ctheir-username\u003e\n```\n\nIf you want to download other people's repositories (public and private), you can do\n\n```Python\ngit-neko -u \u003ctheir-username\u003e -t \u003ctheir-personal-access-token\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnecraul%2Fgit-neko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnecraul%2Fgit-neko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnecraul%2Fgit-neko/lists"}