Skip to main content

A universal high-performance CLI command tool for offline file processing, AI tasks, and automation.

Project description

🛠️ ToolBox CLI

A powerful, universal, and offline CLI utility suite for file processing, conversion, and management. Designed for engineers, researchers, and power users who need a robust toolset that works anywhere.

License: MIT Python Version

🌟 Key Features

  • Universal Input: Every command supports both local files and direct web links (URLs).
  • High-Performance Concurrency: Built-in parallel processing for batch operations via --parallel.
  • AI-Powered Capabilities: Integrated AI tools for background removal and advanced OCR.
  • Privacy & Security: Secure file shredding, metadata sanitization, and AES-256-GCM encryption.
  • Modular Plugin Architecture: Easily extendable with a clean plugin system.
  • Workflow Automation: Run, watch, or schedule complex sequences of commands via YAML.
  • Dry-Run Mode: Every command supports --dry-run to validate operations without making changes.

🧩 Plugins & Capabilities

📁 File & Security

  • hash: Calculate MD5, SHA1, SHA256, or SHA512.
  • shred: Securely overwrite files (DoD 5220.22-M) to prevent recovery.
  • encrypt / decrypt: AES-256-GCM file protection.
  • batch-rename: Advanced renaming with parallel support.
  • info: Detailed file statistics and metadata.

🖼️ Image Processing

  • remove-bg: AI-powered background removal using rembg.
  • convert / resize / crop: Standard image manipulations.
  • ocr: Extract text with advanced preprocessing.
  • to-sticker: Create WhatsApp-ready stickers.
  • exif-strip: Remove privacy-sensitive metadata.

🎥 Video & Audio

  • watermark / remove-watermark: Add or remove logos/text from video.
  • to-sticker: Convert videos directly to WhatsApp stickers.
  • extract-frames: Pull high-quality frames from video.
  • normalize: Level audio volume using loudnorm.
  • trim / merge / compress: Core media editing tools.

📄 Document & PDF

  • sanitize: Remove metadata and hidden information from PDFs.
  • convert: Universal document conversion via LibreOffice.
  • merge / split / rotate: Robust PDF management.
  • extract-text: OCR-based text extraction from PDFs.

📊 Data & Utilities

  • sql-export: Export JSON/CSV/YAML datasets to SQLite.
  • convert: Seamlessly switch between JSON, CSV, and YAML.
  • qr: Generate QR codes from any text or link.
  • network info/scan: Connection diagnostics and port scanning.

🚀 Getting Started

Prerequisites

ToolBox relies on specialized engines:

  • FFmpeg: Video/Audio processing.
  • Tesseract: OCR capabilities.
  • LibreOffice: Document conversion.
  • Poppler: PDF processing.

Installation

  1. Clone & Install:

    git clone https://github.com/CrystalDustt-V2/toolbox.git
    cd toolbox
    pip install .
    

    Alternatively, once published to PyPI:

    pip install toolbox-universal
    
  2. Setup Engines (Windows):

    toolbox check  # Check current status
    python setup_engines.py  # Auto-download portable engines
    

📖 Advanced Usage

Parallel Batch Processing

# Resize all JPEGs in a folder using 8 worker threads
toolbox image resize --glob "*.jpg" -w 800 --parallel --workers 8

Automation (Workflows)

# Run a sequence of commands
toolbox workflow run process_images.yaml

# Watch a directory for new files and auto-trigger a workflow
toolbox workflow watch ./incoming my_workflow.yaml --ext .pdf

# Schedule a workflow to run every 60 minutes
toolbox workflow schedule maintenance.yaml --interval 60 --immediate

Logging

# Run a command and save detailed logs to a file
toolbox file hash large_file.iso --log-file ./logs/audit.log

toolbox file batch-rename ./docs --prefix "v1_" --dry-run


### Workflow Automation
```bash
# Run a complex automation sequence
toolbox workflow run examples/universal_demo.yaml

Advanced Media

# Extract frames every 0.5 seconds
toolbox video extract-frames my_video.mp4 --interval 0.5

# Normalize audio volume
toolbox audio normalize recording.mp3 -o balanced.mp3

Workflow Automation

Automate complex tasks using YAML workflows:

# Interactively create a new workflow
toolbox workflow init my_tasks.yaml

# Run the workflow
toolbox workflow run my_tasks.yaml

# Run with variable overrides and dry-run
toolbox workflow run my_tasks.yaml -v input_file=photo.jpg --dry-run

Batch Processing

Many commands now support processing multiple files at once using glob patterns:

# Resize all JPEGs in a folder
toolbox image resize --glob "*.jpg" -w 800

# Convert all videos in a folder to GIF
toolbox video to-gif --glob "videos/*.mp4"

Global Engine Path

You can now set a global directory where ToolBox will look for engine binaries (ffmpeg, tesseract, etc.):

toolbox config set global_bin_path "C:\MyTools\bin"

🛠️ Configuration

Settings are stored in config.yaml. Manage them via CLI:

toolbox config list
toolbox config set engine_paths.ffmpeg "C:\ffmpeg\bin\ffmpeg.exe"

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toolbox_universal-0.2.0.tar.gz (44.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

toolbox_universal-0.2.0-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

Details for the file toolbox_universal-0.2.0.tar.gz.

File metadata

  • Download URL: toolbox_universal-0.2.0.tar.gz
  • Upload date:
  • Size: 44.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for toolbox_universal-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9f94cab06b46d0fbc55d2a58d2be90c1a54daa0d78f79e5621e58383e4933292
MD5 6c5be3b35fe679536b270e3bd80de449
BLAKE2b-256 209c645e4fd4b3a42798ecca64e180c0375773d06f19a44536499638ba3c61c1

See more details on using hashes here.

File details

Details for the file toolbox_universal-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for toolbox_universal-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 64700c2ad7c1ebf108c2e802a0e776ad4d1e151376b276c301e4ac573d8a7386
MD5 cd8ab1e60a9341a21ed4a26a845d7db9
BLAKE2b-256 df738712aec557dda9fdb474f845e2d0ba10a84e59feac1801a283fc6f51ac96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page