8 unstable releases (3 breaking)
| 0.5.1 | Aug 19, 2025 |
|---|---|
| 0.5.0 | Aug 19, 2025 |
| 0.4.0 | Apr 11, 2025 |
| 0.3.5 | Feb 26, 2025 |
| 0.2.0 | Sep 26, 2024 |
#172 in Command-line interface
319 downloads per month
225KB
746 lines
duckfetch: a DuckDB manager for Linux (maybe Windows and MacOS)
A simple Rust application to manage DuckDB installations, allowing users to list available versions and install specific versions easily.
Table of Contents
Demo

Features
- List available DuckDB versions from GitHub releases with
duckfetch list. - Install a specific DuckDB version with
duckfetch install. - Update to the latest version with
duckfetch update. - Generate auto-completion scripts for your shell with
duckfetch completions.
Requirements
- Rust (version 1.60 or later)
- Internet access to download DuckDB releases.
Installation
You can install duckfetch using cargo, the Rust package manager, or by using the provided shell scripts.
Cargo
To install it from crates.io:
cargo install duckfetch
Or the development version:
cargo install --git https://github.com/pmassicotte/duckfetch
Shell scripts
Linux and MacOS:
curl --proto '=https' --tlsv1.2 -LsSf $(curl -s https://api.github.com/repos/pmassicotte/duckfetch/releases/latest | grep -o 'https://github.com/pmassicotte/duckfetch/releases/download/[^"]*-installer.sh') | sh
Windows:
powershell -ExecutionPolicy Bypass -c "$url = (Invoke-RestMethod -Uri 'https://api.github.com/repos/pmassicotte/duckfetch/releases/latest').assets | Where-Object { $_.name -eq 'duckfetch-installer.ps1' } | Select-Object -ExpandProperty browser_download_url; irm $url | iex"
Usage
Check the currently installed DuckDB version
duckfetch check
List available DuckDB versions
duckfetch list
Install DuckDB
This command will print the available versions and ask the user to select one to install.
duckfetch install
Open the change log of the latest DuckDB version
This will open the GitHub release page for the latest DuckDB version in your default browser.
duckfetch changelog
Help
For more information, use the --help flag:
duckfetch install --help
Autocompletion
To enable autocompletion, you can use the completions subcommand to generate the completion script for your shell. For example, to enable completions for the zsh shell:
duckfetch completions zsh >~/.zfunc/_duckfetch
Then, add the following line to your .zshrc file:
fpath+=~/.zfunc
autoload -Uz compinit
compinit -i
Troubleshooting
GitHub API Rate Limits
If you encounter GitHub API rate limit errors (especially in CI/CD or with heavy usage), you can set a GITHUB_TOKEN environment variable to increase your rate limit:
export GITHUB_TOKEN=your_github_token_here
duckfetch update
To create a GitHub token:
- Go to GitHub Settings → Developer settings → Personal access tokens
- Generate a new token (no special permissions needed for public repositories)
- Set the token as an environment variable
Other related projects
Dependencies
~16–37MB
~524K SLoC