DevKit is a modern, extensible command-line toolbox that provides dozens of useful developer utilities through a single, beautifully formatted CLI. Built with Typer and Rich, it features a completely modular plugin architecture.
DevKit comes packed with 17 independent plugins right out of the box:
- 🔐 Password: Generate secure passwords with custom criteria.
- 🆔 UUID: Generate v1, v3, v4, v5 UUIDs.
- #️⃣ Hash: Calculate MD5, SHA1, SHA256, Blake2 hashes for strings or files.
- 🔠 Base64: Encode and decode strings or files.
- 📦 Archive: Zip and Unzip utilities.
- 🔐 Crypto: Encrypt and decrypt files securely using Fernet symmetric keys.
- 🖥️ System: View beautiful tables for CPU, Memory, Disk usage, and Directory Trees.
- 🌐 Network: Ping, Port scanner, DNS lookup, WHOIS lookup.
- 💻 Env: Manage and view environment variables.
- 🖼️ Image: Convert formats, compress (JPEG/WebP), extract metadata.
- 📄 PDF: Merge, split, and extract info from PDFs.
- ⬛ QR: Generate customizable QR codes.
- 📝 JSON: Format, pretty-print, and validate JSON.
- 📜 Text: Lorem Ipsum generator, Regex tester, Extractive text summarizer.
- ⏱️ Time: Timestamp converter, Cron parser.
- 🌐 Web: Markdown to HTML converter, HTML/XML/YAML/CSV formatters.
- 🎨 Misc: Hex/RGB color converter, ASCII Art generator.
To get DevKit working properly on your system, you need to have Python 3.12+ installed.
You can install DevKit globally from the Python Package Index in one step.
Note that the package is named devkit-toolbox while the command is devkit:
pip install devkit-toolboxIf you want to contribute, edit plugins, or run the latest unreleased code:
- Clone the repository:
git clone https://github.com/azlanabdulla/dev-kit.git
cd dev-kit- Install the package in editable mode:
pip install -e .(Note: The -e flag means "editable", so if you pull new updates from git, they apply immediately without needing to reinstall).
You should now be able to run devkit from anywhere in your terminal. Let's check the health of the installation:
devkit doctor
devkit pluginsTyper provides built-in shell completion. To enable tab-autocompletion for your shell, run:
devkit --install-completion$ devkit plugins
Loaded Plugins
┌─────────────┬───────────────┐
│ Plugin Name │ Description │
├─────────────┼───────────────┤
│ archive │ DevKit Plugin │
│ base64 │ DevKit Plugin │
│ crypto │ DevKit Plugin │
│ env │ DevKit Plugin │
│ hash │ DevKit Plugin │
│ ... │ ... │
└─────────────┴───────────────┘
$ devkit password generate -l 16
q#7vX$k9Lm@2wP!n# Generate a 20-character secure password
devkit password generate -l 20
# Parse a cron expression
devkit time cron "0 0 * * *" -c 5
# Display system CPU information
devkit system cpu
# Compress an image to 80% quality
devkit image compress input.jpg output.jpg -q 80
# Convert a color from Hex to RGB
devkit misc color "#FF5733"DevKit uses a Dynamic Plugin Registry. Every folder inside devkit/plugins/ that contains a cli.py with a Typer app object is automatically discovered and loaded as a subcommand.
This means you can easily add your own plugins without modifying the core source code!
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
- Standalone plugin installation (
devkit install plugin-name) - AI Integration Plugin
- GUI / TUI Dashboard mode
Distributed under the MIT License. See LICENSE for more information.