UPkg is an universal package manager: an extendable wrapper of package managers to unify package management across systems.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Domantas Adomėlis 17c1e1c6b1
All checks were successful
Signal on push / signal (push) Successful in 2s
feat: use actions
2026-09-18 23:21:32 +03:00
.forgejo/workflows feat: use actions 2026-09-18 23:21:32 +03:00
.idea chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
.vscode chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
src feat: external build, pacman dgit insert 2026-09-18 22:49:59 +03:00
.gitignore chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
Cargo.lock feat: external build, pacman dgit insert 2026-09-18 22:49:59 +03:00
Cargo.toml feat: external build, pacman dgit insert 2026-09-18 22:49:59 +03:00
LICENSE chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
README.md chore(release): initial v1.0 2026-01-25 02:20:54 +02:00

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