📦 pkgwrap
One command. Every package manager.
Remembering the exact syntax to install a package across different operating systems (apt, pacman, brew, apk) is a frustrating and error-prone chore. pkgwrap solves this context-switching fatigue by giving you one universal command that automatically detects your OS and translates standard package operations into native syntax.
Why pkgwrap?
- Zero Configuration: Automatically detects your OS and native package manager out of the box—no setup required.
- Muscle Memory: Stop pausing to remember if it's
pacman -S,apt install, ordnf install. Just typepkw install. - Smart Permissions: Automatically prefixes commands with
sudowhen required and prompts for confirmation, but gracefully skips the prompt if you are already running asroot. - Lightweight: No heavy dependencies, network API calls, or bloated background services. It simply wraps your local package manager safely.
Why not just use apt/pkg directly?
If you only ever use a single operating system, you probably should! But if you are a developer, sysadmin, or homelabber who frequently jumps between a Debian VPS, a macOS workstation, an Alpine Docker container, or a Termux shell on your phone, you know the pain of typing apt install on an Arch machine. pkgwrap eliminates that friction entirely.
Supported Platforms
| OS / Distribution | Backend | Status |
|---|---|---|
| Debian, Ubuntu, Pop!_OS, Mint | apt |
✅ Supported |
| Termux (Android) | pkg |
✅ Supported |
| Arch Linux, Manjaro, EndeavourOS | pacman |
✅ Supported |
| Fedora, RHEL, Rocky Linux | dnf |
✅ Supported |
| Alpine Linux | apk |
✅ Supported |
| macOS, Linux (Homebrew) | brew |
✅ Supported |
| openSUSE | zypper |
✅ Supported |
| Void Linux | xbps |
✅ Supported |
| NixOS / Nix | nix |
✅ Supported |
| Solus | eopkg |
✅ Supported |
| FreeBSD | pkg |
✅ Supported |
(Note: pkgwrap intelligently distinguishes between FreeBSD pkg and Termux pkg under the hood based on OS detection).
Installation
Option 1: Via pip (Recommended)
If you already have Python 3.9+ and pip installed on your system:
pip install pkgwrap-lokesh
Option 2: via Install Script
If you don't have Python or pip installed, this script will attempt to install them using your native package manager before installing pkgwrap:
bash <(curl -s https://raw.githubusercontent.com/trmxvibs/pkgwrap/main/install.sh)
Usage
pkgwrap provides two commands that behave identically: pkgwrap (descriptive) and pkw (a fast, 3-letter alias for daily use).
# Install a package
pkgwrap install <package>
pkw install <package>
# Remove a package
pkgwrap remove <package>
pkw remove <package>
# Update system packages and repositories
pkgwrap update
pkw update
# Search for a package
pkgwrap search <package>
pkw search <package>
Pro-tips for Sudo & Confirmations:
You can use the -y or --yes flag (e.g., pkw install vim -y) to skip all sudo confirmation prompts.
If you execute pkgwrap while already logged in as a root user, confirmation prompts are skipped automatically.
Example Output
$ pkw install cowsay
ℹ The command 'sudo apt install -y cowsay' requires administrative privileges (sudo).
? Do you want to proceed with sudo? (y/N) y
→ Running: sudo apt install -y cowsay
Reading package lists... Done
Building dependency tree... Done
...
✔ Successfully finished installation process for 'cowsay'.
Contributing
Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you want to contribute.
We are always looking to support new platforms (e.g., Windows via winget/choco is currently on the roadmap as a future addition). Pull requests adding new backends are highly encouraged!
License
This project is licensed under the MIT License — see the LICENSE file for details.
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 pkgwrap_lokesh-0.1.1.tar.gz.
File metadata
- Download URL: pkgwrap_lokesh-0.1.1.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b319cdb5c283d33f82c0188f22478f2d66060f66304d56a79a5f38aea71191c
|
|
| MD5 |
a14ed8ba646cc3c61fe87beb5d87a187
|
|
| BLAKE2b-256 |
71582f5499952652679e7f559167073ca58f1c684c9e95ffe6d9f7754b1f314f
|
File details
Details for the file pkgwrap_lokesh-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pkgwrap_lokesh-0.1.1-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
964f90345edc93d18de21e3cf1d8ebe3612968b861ad54fde87de4d9914c70a0
|
|
| MD5 |
01e12789d272a25ab1b445a6c76a279e
|
|
| BLAKE2b-256 |
e90d44669ff0a12af1634aa5de75c0f3e814b1fa12638474d00f937e6a9ac3aa
|