pacman-apt (A pacman-like CLI compatibility layer for linux systems)
Abstract
pacman-apt provides a small subset of Arch Linux pacman-style commands on
linux system by translating them into native apt-get / apt-cache / dpkg-query
invocations. The goal is consistent operator muscle-memory across distributions,
not to replace the underlying package manager.
Motivation
Operators and developers frequently work across multiple Linux distributions.
Command surface area differences (e.g. pacman -Syu vs apt update && apt upgrade)
increase cognitive load and can lead to mistakes during routine maintenance.
This project reduces that friction by offering a minimal, explicit translation layer.
Scope
Goals
- Provide a pacman-like UX for common workflows on linux system:
-Syu,-S,-R,-Rns,-Ss,-Qi,-Q
- Prefer stable, script-friendly Debian tooling (
apt-get,apt-cache,dpkg-query) - Transparent execution: print commands before running them
Non-goals
- Not a package manager: no repository handling, no dependency resolution
- Not a full
pacmanimplementation - Not intended for Arch Linux (where
pacmanalready exists)
Design Overview
pacman-apt parses a small flag subset and maps it to linux tooling:
| pacman-style | linux backend |
|---|---|
pacman -Syu |
apt-get update && apt-get dist-upgrade -y |
pacman -S <pkg...> |
apt-get install -y <pkg...> |
pacman -R <pkg...> |
apt-get remove -y <pkg...> |
pacman -Rns <pkg...> |
apt-get purge -y <pkg...> && apt-get autoremove --purge -y |
pacman -Ss <query> |
apt-cache search <query> |
pacman -Qi <pkg> |
apt-cache show <pkg> (metadata; see Limitations) |
pacman -Q |
dpkg-query -W -f='${binary:Package}\t${Version}\n' |
For design rationale, see docs/design.md.
Security Model
- No
shell=True; all subprocess calls use explicit argument arrays - Conservative privilege handling (uses
sudowhen not root) - Commands are echoed before execution for auditability
See docs/security.md for the threat model and assumptions.
Compatibility
- Debian: stable
- Ubuntu: LTS
(Exact versions may vary; see docs/compatibility.md.)
Installation
Install with pip
From a local checkout:
python -m pip install .
For development, use an editable install:
python -m pip install -e .
Both pip installs create these commands in the active Python environment:
pacmanpacman-apt
If your Python environment's script directory is not on PATH, run the module
entrypoint directly instead:
python -m pacman_apt.cli --help
Manual (single-file)
sudo install -m 0755 pacman /usr/local/bin/pacman
Metadata
Release files for pacman-apt-wrapper 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pacman_apt_wrapper-0.1.1.tar.gz | 5.9 kB | With provenance | Details for pacman_apt_wrapper-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pacman_apt_wrapper-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for pacman_apt_wrapper-0.1.1-py3-none-any.whl |
Total release size: 11.5 kB
Release files / pacman_apt_wrapper-0.1.1.tar.gz
| Download URL | pacman_apt_wrapper-0.1.1.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d753c7e92b4fcda2ada1959128bb0b2b9af167083b38170bf52395dd1fb318b0
|
|
BLAKE2b-256 checksum How to use checksums |
9b84f1c8e9bffad38c971369525dcb89c5dbff1c7e5d7f93e1a759edc83450cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logRelease files / pacman_apt_wrapper-0.1.1-py3-none-any.whl
| Download URL | pacman_apt_wrapper-0.1.1-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9968ff97376f668c4615be4eabc2bdd0971ab7e527707f4ff71c5aeb251529e9
|
|
BLAKE2b-256 checksum How to use checksums |
342d57e5d7d73e2bb308e349d6ae46e8de59a9afb1d2de1ca7e03b1116bae966
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logSecurity for pacman-apt-wrapper 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for pacman_apt_wrapper-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.