Skip to main content

CLI to bulk resize and convert images recursively

Project description

Rexize - Bulk Resize and Convert Images tool

Welcome to the Rexize CLI Tool, an open-source command-line interface tool designed for bulk resizing and converting image files. This tool efficiently processes images in a directory recursively, outputting them to a specified directory with your chosen dimensions and formats. It is built with flexibility and efficiency in mind, to cater to a wide range of use cases and users.

Features

  • Bulk Resizing: Resize multiple images in a batch to your desired dimensions.
  • Format Conversion: Convert images into different formats (e.g., JPEG, PNG) in one go.
  • Recursive Directory Processing: Process images in a directory and its subdirectories.
  • Custom Output Directory: Specify a different directory to output the processed images.

About

This CLI tool for bulk resizing and converting image files has wide-ranging applications, benefiting users in web development, digital marketing, photography, and data science. It streamlines workflows, ensures consistency in image quality and size, and facilitates efficient storage and transfer.

Potential Use Cases

This tool is versatile and can be beneficial across various fields. Its potential use cases and benefits span several domains, including but not limited to:

  1. Web Development and Design: Optimize images for web usage, ensuring fast loading times and responsiveness without compromising quality. Bulk prepare thumbnails, hero images, and other assets for websites.
  2. Digital Marketing: Prepare images for different social media platforms, email campaigns, and online ads with ease.
  3. Photography: Resize and convert images for client delivery, portfolio display, or contest submissions efficiently.
  4. Data Science and Machine Learning: Automate the preprocessing of images for computer vision projects.
  5. Archiving and Digital Libraries: Standardize image sizes and formats for digital archiving purposes.
  6. Personal Use: Manage personal image collections, optimizing for storage or preparing for social media and personal websites.

Benefits

  • Efficiency and Time-Saving: Automates a task that would be incredibly time-consuming if done manually, especially for large image collections.
  • Quality and Consistency: Ensures that all images meet set criteria for size and format, maintaining a high standard across a project or campaign.
  • Open-Source Collaboration: Being open-sourced, it encourages collaboration and contributions from other developers, leading to new features, bug fixes, and improvements.
  • Customization and Flexibility: Users can adapt the tool to fit their specific needs, whether that's integrating it into larger workflows or customizing it for unique project requirements.
  • Resource Optimization: Helps in optimizing web pages by reducing load times and improving user experience, which can contribute to better SEO rankings and user retention.

Getting Started

To get started with Rexize, please ensure you have the Prerequisites and follow the installation instructions below:

Prerequisites

  • Python 3.11 or higher
  • Pip package manager
  • Basic knowledge of the command line interface for now. A GUI wrapper is in the works.

Installation

pip install rexize

Usage

rexize [options] input_folder output_folder


  Bulk resize and convert images from a folder recursively.


  positional arguments:
    input_folder          Input folder containing images
    output_folder         Output folder for resized images

  options:
    -h, --help            show this help message and exit
    -W WIDTH, --width WIDTH
                          Width to resize the image. Suffix with for percentage
    -H HEIGHT, --height HEIGHT
                          Height to resize the image. Suffix with for percentage
    -M MAX_SIZE, --max-size MAX_SIZE
                          Maximum size in pixels for the image. Resize if larger than this size
    -f FORMAT, --format FORMAT
                          Format of the output image: JPEG, PNG, WEBP, GIF, TIFF, BMP
    --rgb                 Downscale RGBA images to RGB
    --grayscale           Downscale images to Grayscale
    -q, --quiet           Suppress all output messages, except errors
    --verbose             Verbose output for debugging

Project URLs

How to Contribute

We welcome contributions from the community, whether it's adding new features, fixing bugs, or improving documentation. If you have a feature request or have identified an issue, please open an issue on GitHub. We also encourage you to fork the repository and submit pull requests with your improvements.

Features TO DO

  • User documentation
  • Bulk renaming image files
  • Rotation and Cropping support
  • Custom filters
  • A new GUI Wrapper
  • Increase Test Coverage to above 90%

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

rexize-0.2.3.tar.gz (10.2 kB view hashes)

Uploaded Source

Built Distribution

rexize-0.2.3-py3-none-any.whl (13.9 kB view hashes)

Uploaded Python 3

Supported by

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