A smart CLI wrapper for docker compose with interactive selection support.
Project description
Fast DCP
A smart CLI wrapper for
docker compose— with interactive file, profile, and service selection.
Highlights
Interactive file, profile & service selection
Running -f, -pf, or -s without arguments auto-detects compose files, profiles, and services, letting you choose interactively.
$ dcpu -f
☑ Found 2 docker-compose files!
1. docker-compose.yml
2. docker-compose.prod.yml
Enter your choices (e.g., 1,3,4) or 'q' to quit:
$ dcpu -pf
☑ Found 2 profiles!
1. dev
2. prod
Enter your choices (e.g., 1,3,4) or 'q' to quit:
$ dcpu -s
☑ Found 3 services!
1. db
2. frontend
3. app
Enter your choices (e.g., 1,3,4) or 'q' to quit:
Sample Usage
# docker compose up --build
dcpu -b
# docker compose -f docker-compose.prod.yml up -d
dcpu -df docker-compose.prod.yml
# docker compose exec app bash
dcpe app
# docker compose exec db psql -U user -d mydb
dcpe db -- psql -U user -d mydb
# docker compose restart app
dcp re app
Install fast-dcp
Quick Install
# Using pipx
pipx install fast-dcp
# OR using uv
uv tool install fast-dcp
Not familiar with Python tooling?
If you don't have pipx or uv installed yet:
Windows
python -m pip install --user pipx
python -m pipx ensurepath
# Restart terminal, then:
pipx install fast-dcp
macOS
brew install pipx
pipx ensurepath
pipx install fast-dcp
Linux (Ubuntu/Debian)
pip install pipx
pipx ensurepath
pipx install fast-dcp
Features
- Interactive Selection: auto-detect and interactively select compose files, profiles, and services
- Short Aliases:
dcp u,dcp b,dcp e— fewer keystrokes for common commands - Dedicated Commands:
dcpuanddcpefor frequent up/exec workflows - Zero Config: No configuration files needed — just install and run
- Cross-Platform: Works on Windows, macOS, and Linux
FAQ
Why use pipx or uv tool instead of pip?
Both pipx and uv tool install CLI tools in isolated environments, so fast-dcp won't conflict with other Python packages. The commands (dcp, dcpu, dcpe) are available globally without activating a virtual environment. uv tool is the faster alternative if you already use uv.
Requirements
- Python 3.11+
- Docker with Compose V2 (
docker compose— notdocker-compose)
List of Commands
Common options (available for all commands):
-s,-f FILE...,-pf PROFILE...,-p PROJECT⚠️ Note:
-f,-pf,-pare passed before the subcommand in the actual docker compose syntax,
but in fast-dcp they are specified after the subcommand (e.g.dcp up -f FILE).
| Bash Command | Executed Docker Command |
|---|---|
| dcp | - (Show help) |
| dcpu [SERVICE...] [-d] [-b] [-w] | docker compose up [SERVICE...] |
| dcpe [SERVICE] | docker compose exec SERVICE bash |
| dcpe [SERVICE] [COMMANDS...] | docker compose exec SERVICE [COMMANDS...] |
| dcp up(u) [SERVICE...] | docker compose up [SERVICE...] |
| dcp up(u) -d | docker compose up -d |
| dcp up(u) -b | docker compose up --build |
| dcp up(u) -w | docker compose up --wait |
| dcp build(b) [SERVICE...] | docker compose build [SERVICE...] |
| dcp exec(e) [SERVICE] | docker compose exec SERVICE bash |
| dcp exec(e) [SERVICE] [COMMANDS...] | docker compose exec SERVICE bash [COMMANDS...] |
| dcp run [SERVICE] | docker compose run SERVICE bash |
| dcp restart(re) [SERVICE...] | docker compose restart [SERVICE...] |
| dcp ps [SERVICE...] [-a] [-st STATUS] | docker compose ps [SERVICE...] [--all] [--status ...] |
| dcp logs(l) [SERVICE...] [-fo] | docker compose logs [SERVICE...] [-f] |
| dcp stop(s) [SERVICE...] | docker compose stop [SERVICE...] |
| dcp down [-ro] | docker compose down [--remove-orphans] |
and more... see dcp --help for the full list of supported commands and options.
License
MIT LICENSE
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 fast_dcp-0.5.0.tar.gz.
File metadata
- Download URL: fast_dcp-0.5.0.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d20dc5315fce61372fe013a41885fbfc43be044474a89fbf715151d6a1598bb1
|
|
| MD5 |
4c55d2f3cf17af827696772ca7741531
|
|
| BLAKE2b-256 |
e510875ab565be77902be623dcfc6640d695ecc1da35070990e8b78f2bd8d83a
|
File details
Details for the file fast_dcp-0.5.0-py3-none-any.whl.
File metadata
- Download URL: fast_dcp-0.5.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2778cf3e02e79f58dc5c9e5ad2caf484181d8a526cd376ed33a8c9240ca6a3f
|
|
| MD5 |
c0f280a431991e76fee2198de1d8f534
|
|
| BLAKE2b-256 |
9aba0b2c8443be7694b955f5c690aa96871abdb1005372d5d736272471ccd23c
|