Skip to main content

A cli tool for grouping and managing multiple APT packages as bundles on Debian-based systems.

Project description

bdapt: Bundle APT
Manage multiple Debian / Ubuntu APT packages as bundles

bdapt (Bundle APT) is a command-line tool for managing collections of APT packages as "bundles" on Debian-based systems (e.g. Ubuntu, Debian, etc.). It lets you install, remove, and track related packages together with a single command.

When software is installed from source or outside your package manager, dependencies often have to be installed manually using apt install. Later, when you remove the software, these dependencies remain because apt autoremove only removes packages marked as "automatically installed." Over time, this leads to clutter and orphaned packages. bdapt solves this by grouping dependencies into bundles, making cleanup straightforward.

[!WARNING]
This project is currently in an early development stage and not production ready. Breaking changes and data loss are expected. Use at your own risk.

Installation

You can install bdapt using pip:

pip install bdapt

Or if you prefer uv:

uv tool install bdapt

Quickstart

Let's say you're setting up a server for a web application. You need Nginx, PostgreSQL, and Redis.

Create bundle

bdapt new web-stack nginx postgresql redis -d "Core web services stack"

Add packages

Your application now requires PHP. Instead of installing it manually, add it to your bundle.

bdapt add web-stack php-fpm php-pgsql

Remove packages

You've decided to move Redis to a different server and no longer need it locally.

bdapt rm web-stack redis

Remove bundle

You are decommissioning the server and want to clean up everything.

bdapt del web-stack

Now your system is clean!

Usage

 Usage: bdapt [OPTIONS] COMMAND [ARGS]...

 Bundle APT: Group multiple Debian APT packages as bundles.

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --version                       Show version and exit                                                                                    │
│ --quiet               -q        Minimal output                                                                                           │
│ --non-interactive     -y        Skip all confirmation prompts                                                                            │
│ --install-completion            Install completion for the current shell.                                                                │
│ --show-completion               Show completion for the current shell, to copy it or customize the installation.                         │
│ --help                          Show this message and exit.                                                                              │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ new    Create and install new bundle.                                                                                                    │
│ add    Add packages to a bundle.                                                                                                         │
│ rm     Remove packages from a bundle.                                                                                                    │
│ del    Delete the bundle.                                                                                                                │
│ ls     List all bundles.                                                                                                                 │
│ show   Display bundle contents.                                                                                                          │
│ sync   Force reinstall bundle to match definition.                                                                                       │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

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

bdapt-0.2.0a1.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

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

bdapt-0.2.0a1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file bdapt-0.2.0a1.tar.gz.

File metadata

  • Download URL: bdapt-0.2.0a1.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for bdapt-0.2.0a1.tar.gz
Algorithm Hash digest
SHA256 33307c2936d44b8bbe49ac8c7808c142ba773c4948576ef00bca8de41313adea
MD5 c8c57699bd7042eb49b3988877e7b3f4
BLAKE2b-256 d5933be93b8999da93f13bebcc8a63b453f5364c65604b38191b71ebf2ec634f

See more details on using hashes here.

File details

Details for the file bdapt-0.2.0a1-py3-none-any.whl.

File metadata

  • Download URL: bdapt-0.2.0a1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.22

File hashes

Hashes for bdapt-0.2.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 ad09ac1216083cfb413da625c4f82d7ee481702ac3d5398ea2372bfe47d03f92
MD5 69e275624982af2b2514ce2a2587eece
BLAKE2b-256 bea5bbe9c3e37ed702cc04aac20d4c441f3bf146ee0a0338127a1c3f028bcbf8

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