Skip to main content

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

  1. 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 with unipkg --set update or unipkg --set primary.
  2. When executing a command like unipkg install firefox it translates it to the equivalent command of the chosen package manager (e.g., for apt sudo apt install firefox or for pacman sudo pacman -S firefox).
  3. The now translated command wil be executed in the current environment. Remember that most likely you will be asked by sudo to 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, info and addrepo.
  • 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

  • apt
  • pacman
  • snap
  • flatpak

(Please report any problems!)

Installation

  1. ensure you have at least Python version 3.10 installed on your Linux system
  2. 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 the update, upgrade and clean-command all at once.
  • --set <update or primary>: 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

unipkg-0.2.1.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unipkg-0.2.1-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file unipkg-0.2.1.tar.gz.

File metadata

  • Download URL: unipkg-0.2.1.tar.gz
  • Upload date:
  • Size: 22.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for unipkg-0.2.1.tar.gz
Algorithm Hash digest
SHA256 88a6fdd08ec621b2010622879474485c7ea51aa63b29a6579dd1a01658aef63c
MD5 ee7ce63cba09e6075798a1d89a64f78d
BLAKE2b-256 8243b24ad429bd5645164df095867d3343a983cb88ac94b24fbdc0af109d659a

See more details on using hashes here.

File details

Details for the file unipkg-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: unipkg-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for unipkg-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70640dc834c83feb8941bf8604b88624a4091413f4338c8f75d6145892df64d6
MD5 8b8163ec665d90ac0426fcbe1a722fd2
BLAKE2b-256 8e611030ad1a740eccb00f95683a139a8e070637a95491e082e9a393e8d23549

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page