A unifying package manager command line tool
Project description
unipkg
unipkg is a command-line tool designed for managing packages across various Linux distributions. It provides a unified command line syntax for common package management tasks such as updating, upgrading, installing, removing, and cleaning packages.
Intended for Linux beginners and people who often work on various distributions and don't want to write down syntax of package managers (understandable).
How it works
- By the first time executing
unipkg, you have to configure which package managers you want to include for updating and upgrading packages and which package manager you want to use primarily (for all the other commands, e.g., installing packages). You can always change the configuration withunipkg --set upudateorunipkg --set manage. - When executing a command like
unipkg install firefoxit translates it to the equivalent command of the chosen package manager (e.g., foraptsudo apt install firefoxor forpacmansudo pacman -S firefox). - The now translated command wil be executed in the current environment. Remember that most likely you will be asked by
sudoto enter your password.
Configuration file is on ~/.config/unipkg/unipkg.conf
Log file is on ~/.config/unipkg/unipkg.log
Features
- Compatible with most Linux distributions.
- Supports common package management commands:
update,upgrade,install,remove,clean,searchlocal,search,infoandaddrepo. - Automatically detects the available package manager(s) on the system.
Requirements
- at least Python 3.10
- Linux operating system
Compatible package managers
apt(Debian/Ubuntu)pacman(Arch)yay(Arch)dnf(Fedora/CentOS)zypper(OpenSUSE)apk(Alpine Linux)- Portage (gentoo)
snap(universal)flatpak(universal)
Tested package managers
aptpacmansnapflatpak
(Please report any problems!)
Installation
- ensure you have at least Python version 3.10 installed on your Linux system
- run
pip install unipkg
Usage
To use unipkg, run the command with the desired argument and any necessary package names. The basic syntax is:
unipkg <manage> [packages]
# Replace <manage> with one of the commands, e.g., 'install'
Commands
update: Update the package manager's database.upgrade: Upgrade installed packages. You can specify package names or upgrade all.install: Install specified packages.remove: Remove specified packages.clean: Clean up unused dependencies.search: Search for packages in the online repository.searchlocal: Search for installed packages.info: Display information for a package.addrepo: Add an external repository.everything: Executes theupdate,upgradeandclean-command all at once.--set <update or manage>: Configure, which package managers you want to update and on which you want to use the package management commands (install, remove, search, etc.).--pm <package manager>: Execute a command for a specific package manager.
This isn't a finished version!
But it works with it's few features. unipkg is in it's early development, and there will be many features added in near future. For this moment, unipkg only works with basic commands, but you can expect some more interesting features coming in the next few weeks and months.
Project 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 unipkg-0.2.0.tar.gz.
File metadata
- Download URL: unipkg-0.2.0.tar.gz
- Upload date:
- Size: 22.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
780982d689bceffc9394bc111296267e58e8a3a48a0bb7df4fe8c20f0b92c677
|
|
| MD5 |
60f943f09120dd2b7ddd0d8fe05c869f
|
|
| BLAKE2b-256 |
b183f6d90fa50c8c0dfc15f5ef828086b138a1c512d035d68b4e7d82664397c0
|
File details
Details for the file unipkg-0.2.0-py3-none-any.whl.
File metadata
- Download URL: unipkg-0.2.0-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98faa7ce6cef063d03591fef9e75a1e1dcb8d2e72fdd04eef3dfd54ae928b325
|
|
| MD5 |
72b95bee1bdc895f7a7169c8f4c64dee
|
|
| BLAKE2b-256 |
cf889b856b735c06c0e3ddfe8f648fde3f8f973c42359a7e9427790e3f97fe5c
|