UPkg is an universal package manager: an extendable wrapper of package managers to unify package management across systems.
- Rust 98.6%
- Shell 1.4%
| .forgejo/workflows | ||
| .idea | ||
| .vscode | ||
| src | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| PKGBUILD | ||
| README.md | ||
upkg
A universal package manager wrapper written in Rust that provides a consistent interface across different package managers (Paru, APT, Scoop, Homebrew). upkg focuses on extendability and ease of use by abstracting platform-specific package manager commands.
Features
- Unified Interface: Use the same commands across different package managers
- Multiple Provider Support: Works with Paru, APT, Scoop, and Homebrew
- Auto-detection: Automatically detects and uses available package managers
- Shell Completions: Built-in support for shell auto-completion
Installation
cargo install --path .
Usage
Basic Commands
# Install packages
upkg install <package-name>
upkg i <package-name>
# Remove packages
upkg remove <package-name>
upkg r <package-name>
# Search for packages
upkg search <query>
upkg s <query>
# Upgrade packages
upkg upgrade
upkg u
# List installed packages
upkg list
upkg l
# Clean package cache
upkg clean
Configuration
# Set the active package manager provider
upkg config set provider <paru|apt|scoop|brew>
# Reset configuration to defaults
upkg config reset all
Provider Management
# List available providers
upkg providers list
# List only installed providers
upkg providers list --installed
License
MIT
Building from Source
Requires rust and cargo.
git clone https://git.denaerium.com/Denaerium/upkg/
cd upkg
cargo build --release