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 details)

Uploaded Source

Built Distribution

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

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

Uploaded Python 3

File details

Details for the file rexize-0.2.3.tar.gz.

File metadata

  • Download URL: rexize-0.2.3.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0

File hashes

Hashes for rexize-0.2.3.tar.gz
Algorithm Hash digest
SHA256 c03f84075e9a2ee0d743f5046121fe2ac60b224c19e3450b098e37f15fead6e2
MD5 d6ae3acc515cb353e4ce7648e176cd5f
BLAKE2b-256 347a1109bf6dad33d733b5f65c36e12b9ebeeb17e33d56dc7d5a535f6334283b

See more details on using hashes here.

File details

Details for the file rexize-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: rexize-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.4.0

File hashes

Hashes for rexize-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 07cc7036c12a6d803e03bc8e75a5fb0f3fc4a128dfc1b45ae8719d0ec069c671
MD5 917bcddb6a97b157084f97d69a5dad71
BLAKE2b-256 376eed5365d75a0d2b469cc17970c6f5f95302e1860b082b3a7e449798707c6d

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