A full-featured CLI framework for professional Python developers
Project description
A full-featured CLI toolkit for professional Python developers.
Scaffold projects · Clean builds · Inspect system · Search files · Manage archives & env vars · Track & rollback dependencies
Installation
pip install devit-cli
Requires Python 3.10+. Works on Windows · Linux · macOS.
Quick Start
devit # show help + logo
devit init # interactive project wizard
devit info # system snapshot
devit clean # remove caches & build artifacts
devit dev # start dev server / install in dev mode
devit test # run tests (auto-detects pytest / django)
devit deps # manage, snapshot & rollback dependencies
Commands
devit init — Project wizard
Interactively scaffold a new project. Asks for:
| Question | Options |
|---|---|
| Project type | Python Package · FastAPI · Django · AWS Scripts |
| Environment | New venv · Existing Python interpreter · New conda · Existing conda env · Skip |
| Python version | e.g. 3.11 |
devit init # fully interactive
devit init my-api --type fastapi --env venv
devit init my-lib --type package --env conda --python 3.12
devit init my-app -y # skip confirmation prompt
Generated structures
Python Package
my-lib/
├── my_lib/
│ ├── __init__.py
│ └── core.py
├── tests/
│ └── test_core.py
├── docs/
├── pyproject.toml
├── README.md
└── .gitignore
FastAPI
my-api/
├── main.py
├── app/
│ └── routers/
│ └── health.py
├── tests/
│ └── test_api.py
├── requirements.txt
├── README.md
└── .gitignore
Django
my-site/
├── manage.py
├── my_site/
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── apps/
│ └── core/
│ ├── views.py
│ └── urls.py
├── requirements.txt
└── .gitignore
AWS Scripts
my-aws/
├── scripts/
│ ├── main.py
│ ├── s3.py
│ └── ec2.py
├── tests/
├── requirements.txt
└── .gitignore
devit dev / run / build / test — Unified task runner
Auto-detects project type and runs the right command:
| Command | Package | FastAPI | Django | AWS |
|---|---|---|---|---|
devit dev |
pip install -e .[dev] |
uvicorn main:app --reload |
manage.py runserver |
sam local start-api |
devit run |
python -m <module> |
uvicorn main:app |
manage.py runserver 0.0.0.0 |
python -m scripts.main |
devit build |
python -m build |
pip install -r requirements.txt |
pip install -r requirements.txt |
sam build |
devit test |
pytest -v |
pytest -v |
manage.py test |
pytest -v |
devit dev
devit test
devit build
devit run -- --port 9000 # extra args forwarded
devit clean — Remove artifacts
devit clean # clean cwd
devit clean ./my-project # clean specific dir
devit clean --dry-run # preview only
devit clean --include-venv # also remove .venv
devit clean -y # skip confirmation
Removes: __pycache__, *.pyc, .pytest_cache, build/, dist/, *.egg-info, .DS_Store, *.log, node_modules, .coverage, and more.
devit info — System snapshot
devit info
devit info --json
Shows: OS, hostname, Python version + executable, active venv/conda env, CPU count + frequency, RAM usage, disk usage.
devit find — Fast file search
devit find "*.py"
devit find "config" -e toml -e ini
devit find "*" --min-size 1mb --newer-than 7 # >1 MB, modified in last 7 days
devit find --dirs-only "src"
devit find "*" -l 500 # show up to 500 results
devit zip / devit unzip — Archive utilities
devit zip dist.zip src/ README.md
devit zip dist.zip . -x __pycache__ -x "*.pyc" -l 9
devit unzip dist.zip ./output
devit unzip dist.zip --list # show contents without extracting
devit env — Environment variable management
devit env list # list all env vars
devit env list --filter AWS # filter by keyword
devit env list --json # JSON output
devit env export # save to .env (dotenv format)
devit env export vars.json --format json
devit env export activate.sh --format shell # bash / zsh
devit env export activate.ps1 --format powershell # Windows PowerShell
devit env export activate.bat --format cmd # Windows CMD
devit env diff .env .env.production # show what changed
devit deps — Dependency manager with history & rollback
Wraps pip with a clean interface, tracks dependency snapshots, and lets you roll back when an upgrade breaks things.
Install & uninstall
devit deps add requests # install + save to requirements.txt
devit deps add "flask>=3.0" sqlalchemy # multiple packages
devit deps add numpy --no-save # install without touching requirements.txt
devit deps remove flask # uninstall + remove from requirements.txt
Inspect
devit deps list # list all installed packages in the project env
devit deps list --json # JSON output
devit deps outdated # show packages that have newer versions available
devit deps outdated --json
Upgrade all at once
devit deps add . # upgrade every outdated package & update requirements.txt
Snapshot history
Save the current working state before making changes:
devit deps snapshot # save current packages
devit deps snapshot -m "works with v3.0" # save with a label
devit deps history # list all saved snapshots
Example output of devit deps history:
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━
┃ ID ┃ Message ┃ Packages ┃ Saved At
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━
│ #2 │ works with v3.0 │ 14 │ 2026-04-03T12:00:00
│ #1 │ Snapshot #1 │ 12 │ 2026-04-01T09:30:00
Diff — see what changed and spot issues
devit deps diff # compare current env to latest snapshot
devit deps diff 1 # compare to snapshot #1
Example output when an upgrade broke something:
Diff: current vs Snapshot #1
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━
┃ Package ┃ Snapshot ┃ Current ┃ Status
┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━
│ flask │ 2.3.3 │ 3.1.0 │ ~changed
│ werkzeug │ 2.3.7 │ — │ -removed
Issues detected:
• flask version changed 2.3.3 → 3.1.0
• werkzeug was removed (snapshot had 2.3.7)
Run devit deps rollback 1 to restore this snapshot.
Rollback — restore exact pinned versions
devit deps rollback # restore latest snapshot
devit deps rollback 1 # restore snapshot #1
devit deps rollback 1 -y # skip confirmation
Snapshots are stored in .devit/dep_snapshots.json inside your project directory.
Tech Stack
| Library | Purpose |
|---|---|
| click | CLI framework |
| rich | Beautiful terminal output, progress bars, tables |
| questionary | Interactive prompts |
| psutil | System metrics (CPU, RAM, disk) |
Contributing
git clone https://github.com/dipenpadhiyar/devit-cli
cd devit-cli
pip install -e ".[dev]"
pytest
Pull requests are welcome!
License
MIT — see LICENSE for details.
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 devit_cli-0.1.7.tar.gz.
File metadata
- Download URL: devit_cli-0.1.7.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04a63f322cb85e0911941b5c5b2a0520594f722b2e3773926b7891226ec47366
|
|
| MD5 |
c262246902f31619ab2437cc775c1c56
|
|
| BLAKE2b-256 |
e22aa4997333035e2c3a8b093b84df8b7eb63d6d474c8e9c30ae3f7e69b04f92
|
File details
Details for the file devit_cli-0.1.7-py3-none-any.whl.
File metadata
- Download URL: devit_cli-0.1.7-py3-none-any.whl
- Upload date:
- Size: 43.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aefe010e25c8d04809592fdb394f06c7154a72501cd818cecadce48ac3ad183a
|
|
| MD5 |
73d3da782a8d1e3c7323ff5f69f91d66
|
|
| BLAKE2b-256 |
c80f5ced13ab4b4144b17c58814f713d9d2817c6ec26e61dab7e4762749059b9
|