UPkg is an universal package manager: an extendable wrapper of package managers to unify package management across systems.
  • Rust 98.6%
  • Shell 1.4%
Find a file
Domantas 0ddbf6ccca
All checks were successful
Build Releases / check-version (push) Successful in 10s
Build Releases / build-x86_64-deb (push) Has been skipped
Build Releases / build-windows-x86_64 (push) Has been skipped
Build Releases / upload-release (push) Has been skipped
Add COPR to DNF
2026-03-24 11:38:08 +02:00
.forgejo/workflows chore(release): initial v1.0 2026-01-25 02:20:54 +02: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 Add COPR to DNF 2026-03-24 11:38:08 +02:00
.gitignore chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
Cargo.lock chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
Cargo.toml chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
LICENSE chore(release): initial v1.0 2026-01-25 02:20:54 +02:00
PKGBUILD chore: update PKGBUILD version to 1.0.0 2026-01-25 00:25:15 +00: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