TinyPM
v3.0.0 Parcel Edition

One Command. Every Package Source.

TinyPM v3 is powered by Parcel, a unified package resolution engine. Native support for every major distro's package manager, plus Flatpak and Snap. Licensed under GPLv3.

Just grab install <package> and let Parcel figure out the rest.

V3 - Parcel Backend: One package query, unified resolution across all backends.

Quick Start

Install TinyPM

terminal

$ git clone https://github.com/AnimatedGTVR/TinyPM.git

$ cd TinyPM

$ chmod +x install.sh && ./install.sh

Reference

Core Commands (grab CLI)

Simple, unified interface. One command for every package backend.

grab install <package>

Install a package. Parcel resolves the best source automatically.

Unified resolution across all configured backends

grab search <query>

Search for packages across all backends via Parcel

Returns results ranked by availability

grab remove <package>

Remove an installed package

Detects source and removes correctly

grab list

List all managed packages

Shows package source (native/flatpak/snap)

grab update

Update all packages to latest versions

Parcel-coordinated updates across backends

grab doctor

Diagnose your TinyPM and Parcel setup

--fix to auto-repair issues

Speed

Shortcut Commands

Shell aliases for lightning-fast access.

gi

expands to grab install

Quick install

gs

expands to grab search

Quick search

gu

expands to grab update

Quick update

gr

expands to grab remove

Quick remove

Architecture

How Parcel Works

One query engine. Multiple backends. Smart resolution.

Query

User requests a package via grab

Resolve

Parcel queries all configured backends simultaneously

Match

Intelligent engine selects best source and version

Install

Single command installs from best available source

$ grab install firefox
Parcel resolving 'firefox'...
├─ apt: firefox 125.0.1 (available)
├─ dnf: firefox 125.0.1 (available)
├─ flatpak: org.mozilla.firefox 125.0.1 (available)
├─ snap: firefox 125.0.1 (available)
└─ pacman: firefox 125.0.1 (available)
→ Best match: native package manager (apt)
Installing via apt...
Done.

Parcel Backend

Universal Package Resolution

Parcel intelligently resolves packages across native package managers, Flatpak, and Snap.

Supported Backends

Flatpak

-f

Sandboxed apps from Flathub. Best for GUI applications with isolation.

Snap

-s

Canonical's universal packages. Auto-updating with confinement.

Native PMs

auto

10+ native package managers. Detected and used automatically by Parcel.

Native Package Managers

apt

Debian/Ubuntu

dnf

Fedora / RHEL

pacman

Arch Linux

xbps

Void Linux

zypper

openSUSE

apk

Alpine Linux

emerge

Gentoo

brew

macOS / Linuxbrew

nix

NixOS / Nix

Extensible Provider API

The modular provider API lets developers write custom backends for any package manager. Contribute upstream or maintain your own custom provider.

Features

Intelligent Resolution Engine

Unified Query Interface

Single query hits all backends simultaneously. Parcel handles backend selection automatically.

Smart Matching

Parcel ranks results by availability, version freshness, and backend type to find the best match.

Cross-Distro Compatibility

Same command works identically on Debian, Fedora, Arch, Alpine, NixOS, and every other supported distro.

Fallback Support

If a package isn't available in the primary backend, Parcel automatically checks alternatives (Flatpak, Snap).

Package State Tracking

Full awareness of which backend installed each package. Removal and updates work correctly across any source.

Provider API

Extensible architecture lets anyone write custom backends for private repos, custom distributions, or specialized use cases.

Part of the Abora Ecosystem

TinyPM v3 with Parcel is built for the Abora ecosystem. The unified package resolution engine supports native package managers, Flatpak, and Snap across all major Linux distributions.

TinyPM is designed to be distro-agnostic. Its modular Parcel provider architecture means anyone can write a custom backend for their Linux distribution. Fork it, remix it, or contribute upstream.