Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joelee/rexize
CLI Script for bulk resizing image files from source directory recursively
https://github.com/joelee/rexize
Last synced: about 2 months ago
JSON representation
CLI Script for bulk resizing image files from source directory recursively
- Host: GitHub
- URL: https://github.com/joelee/rexize
- Owner: joelee
- License: mit
- Created: 2024-02-24T23:40:30.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-06-05T18:32:04.000Z (7 months ago)
- Last Synced: 2024-10-08T22:06:40.747Z (3 months ago)
- Language: Python
- Size: 275 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```bash
pip install rexize
```## Usage
```
rexize [options] input_folder output_folderBulk resize and convert images from a folder recursively.
positional arguments:
input_folder Input folder containing images
output_folder Output folder for resized imagesoptions:
-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
- **GitHub Repository**: https://github.com/joelee/rexize
- **PyPI Package**: https://pypi.org/project/rexize/## 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%