Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevKit 🛠️

The Swiss Army Knife for Developers.

PyPI Version Python 3.12+ MIT License

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.

🚀 Features

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.

⚙️ Installation

To get DevKit working properly on your system, you need to have Python 3.12+ installed.

Option 1: Install from PyPI (Recommended)

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-toolbox

Option 2: Clone for Development

If you want to contribute, edit plugins, or run the latest unreleased code:

  1. Clone the repository:
git clone https://github.com/azlanabdulla/dev-kit.git
cd dev-kit
  1. 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).

Verify it works!

You should now be able to run devkit from anywhere in your terminal. Let's check the health of the installation:

devkit doctor
devkit plugins

Shell Completion

Typer provides built-in shell completion. To enable tab-autocompletion for your shell, run:

devkit --install-completion

📖 Usage Examples

$ 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"

🏗️ Architecture

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!

🤝 Contribution Guide

We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.

🗺️ Roadmap

  • Standalone plugin installation (devkit install plugin-name)
  • AI Integration Plugin
  • GUI / TUI Dashboard mode

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

The Swiss Army Knife for Developers

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages