Skip to main content

devit-cli

A full-featured CLI toolkit for professional Python developers.
Scaffold projects  ·  Clean builds  ·  Inspect system  ·  Search files  ·  Manage archives & env vars  ·  Track & rollback dependencies

PyPI version Monthly downloads Python versions License


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.

Release files for devit-cli 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devit-cli 0.1.9
File Size Uploaded
devit_cli-0.1.9.tar.gz 33.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devit-cli 0.1.9
File Interpreter ABI Platform
devit_cli-0.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 79.7 kB

Release files / devit_cli-0.1.9.tar.gz

Download URL devit_cli-0.1.9.tar.gz
Size 33.8 kB
Tags Source
SHA-256 checksum
How to use checksums
135069b7f5162907980de6d1463bd07d08aec4f644dc43aa39ce1e5510fd78dd
BLAKE2b-256 checksum
How to use checksums
b6581a4766dafb59a0550c6d61843990acad6be84323d26b7bd4b28a4afd1aec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / devit_cli-0.1.9-py3-none-any.whl

Download URL devit_cli-0.1.9-py3-none-any.whl
Size 45.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d134216522aa609d6087944d03c0ce49db121a4f6205a555af9a54f08a2a1bf7
BLAKE2b-256 checksum
How to use checksums
e5d797f228292a11d9c3beda05775ec1a1fd1af441fa733744acbae3907108da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page