Download subfolders and files from GitHub repos
Project description
Github Repo Downloader (grd)
grd is a lightweight yet powerful Python CLI tool that allows you to download specific files or folders from large GitHub repositories—without cloning the entire repo.
Why Repo Downloader?
Have you ever followed a tutorial and needed just a small example from a GitHub repository—only to end up cloning the entire project?
Repo Downloader solves this problem by letting you:
- Download a single file
- Download a specific folder
- Avoid unnecessary files and save time
Features
- Download individual files from any GitHub repo
- Download specific folders without cloning the full repository
- Simple and intuitive CLI interface
- Supports custom branches
- Cross-platform (Windows, macOS, Linux)
Installation
🔧 Prerequisites
-
Python 3.10 or higher
-
pipinstalled -
Alternatively you can use
uv.
# if using uv
uv tool install grd-init
- Tip: If you encounter permission issues, try:
pip install --user grd-init
Windows
pip3 install grd-init
MacOs
pip3 install grd-init
Windows
pip install grd-init
Usage
Available Commands
| Command | Description |
|---|---|
folder |
Download a folder from a repository |
single |
Download a single file |
example |
Show example usage |
version |
Display current version |
Available Arguments
| Argument | Short | Description |
|---|---|---|
--name |
-n |
Folder name (required for folder command) |
--link |
-l |
GitHub repository URL (required) |
--path |
-p |
Destination path (default: current directory) |
--branch |
-b |
Branch name (default: main) |
--file |
-f |
File name (required for single command) |
Verify Download
grd version
# or
grd --help
# Also install auto-completions (recommended)
grd --install-completion
grd --show-completion
Examples
Download a Folder
grd folder --name "repo_folder_name" --link "github_repo_url"
grd folder -n "repo_folder_name" -l "github_repo_url" --path "destination_path"
grd folder -n "repo_folder_name" -l "github_repo_url" -p "destination_path" --branch "branch_name"
Download a Single File
grd single --file "file_name" --link "github_repo_url"
grd single -f "file_name" -l "github_repo_url"
Example Command Help
grd example
License
This project is licensed under the MIT License. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grd_init-0.1.2.tar.gz.
File metadata
- Download URL: grd_init-0.1.2.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0065c6a73c837b2ff9bc5b5587bd24b2ed54ff2c3b9b0371b5d7b5661813ef2e
|
|
| MD5 |
9a7f815c3be5a7109bb72e2ba2df1370
|
|
| BLAKE2b-256 |
2063294086a903d7e9de42f51c0211fbb172a5aed0f13a89743ee99349f52fbd
|
File details
Details for the file grd_init-0.1.2-py3-none-any.whl.
File metadata
- Download URL: grd_init-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4907f3e6786d6b723cd5a1b7c4a6439119aea04749f2825ad2cba35867e2fc45
|
|
| MD5 |
50c11a7fdc77b89a417acf7d4936e3ca
|
|
| BLAKE2b-256 |
297268e0d01741486eb112c5a1ba26014d51a61c16ea8f3681ccfe9aaa6e1db0
|