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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33307c2936d44b8bbe49ac8c7808c142ba773c4948576ef00bca8de41313adea
|
|
| MD5 |
c8c57699bd7042eb49b3988877e7b3f4
|
|
| BLAKE2b-256 |
d5933be93b8999da93f13bebcc8a63b453f5364c65604b38191b71ebf2ec634f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad09ac1216083cfb413da625c4f82d7ee481702ac3d5398ea2372bfe47d03f92
|
|
| MD5 |
69e275624982af2b2514ce2a2587eece
|
|
| BLAKE2b-256 |
bea5bbe9c3e37ed702cc04aac20d4c441f3bf146ee0a0338127a1c3f028bcbf8
|