Skip to main content

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 pacman implementation
  • Not intended for Arch Linux (where pacman already 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 sudo when 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:

  • pacman
  • pacman-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.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pacman-apt-wrapper 0.1.0
File Size Uploaded Provenance Actions
pacman_apt_wrapper-0.1.0.tar.gz 5.9 kB Without provenance Details for pacman_apt_wrapper-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pacman-apt-wrapper 0.1.0
File Interpreter ABI Platform Actions
pacman_apt_wrapper-0.1.0-py3-none-any.whl Python 3 none any Details for pacman_apt_wrapper-0.1.0-py3-none-any.whl

Total release size: 11.5 kB

Release files / pacman_apt_wrapper-0.1.0.tar.gz

Download URL pacman_apt_wrapper-0.1.0.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
acb87e96e70763b13bcefad6d4acbabe71de2b06628509f32a84cecf24426086
BLAKE2b-256 checksum
How to use checksums
e25588f54f4430b8841d8481d054c7bf67795845bcc33057b00ca75f40e52f8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / pacman_apt_wrapper-0.1.0-py3-none-any.whl

Download URL pacman_apt_wrapper-0.1.0-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
05107ebe434ab880ae5e17b51b614e59287d1ce04abcf3a5e4ac650f707b3b10
BLAKE2b-256 checksum
How to use checksums
1295ed1c21917fe6e32db34fe7c8639d58ee5a91fd0296f20109217e659af781
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for pacman-apt-wrapper 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page