Fast image compression for large number of images with Ray library
Project description
Ray-Image
🚀 Fast image compression for large number of images with Ray library.
Requirements
To install ray, run:
pip install ray
⬇️ Installation
pip install rayim
⌨️ Usage
usage: rayim [-h] [-o OUTPUT_DIR] [-q QUALITY] [--overwrite] [-n] [-j]
[--replicate-dir-tree] [-s SIZE SIZE] [-d DIV_BY] [-S] [-O]
path [path ...]
positional arguments:
path Path to a single file/directory or multiple
files/directories
options:
-h, --help show this help message and exit
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
Output directory (default: next to original file)
-q QUALITY, --quality QUALITY
Output image quality (JPEG only; default: 70)
--overwrite Overwrite the original image
-n, --no-subsampling Turn off subsampling and retain the original image
setting (JPEG only)
-j, --to-jpeg Convert the image(s) to .JPEG
--replicate-dir-tree Replicate the source directory tree in the output
-s SIZE SIZE, --size SIZE SIZE
Resize the image to WIDTH HEIGHT
-d DIV_BY, --div-by DIV_BY
Divide the image size (WxH) by a factor of n
-S, --silent Silent mode
-O, --optimize Apply default optimization on the image(s)
-k, --keep-date Keep the original modification date
📕 Examples
- Running on a single file:
rayim foo.jpg
# 🚀 foo.jpg: 1157. kB ==> 619.9 kB (-46.4%) | 0.07s
- Running on a folder
fooand writing the output tocompressed
rayim foo/ -o compressed
# (compress_many pid=612778) 🚀 foo.jpg: 988.9 kB ==> 544.8 kB (-44.9%) | 0.08s
# (compress_many pid=612828) 🚀 bar.jpg: 983.8 kB ==> 541.2 kB (-44.9%) | 0.07s
# (compress_many pid=612826) 🚀 foobar.jpg: 1001. kB ==> 550.7 kB (-44.9%) | 0.07s
# (compress_many pid=612786) 🚀 barfoo.jpg: 1001. kB ==> 551.9 kB (-44.8%) | 0.08s
# ...
# Total:
# Before: 1091.32 MB
# After: 599.46 MB (-45.0%)
Speed comparison
Test 1 (on Apple Silicon M1, 8-cores)
| Method | Number of files | Speed |
|---|---|---|
| Regular compression | 1,000 | 60.090s |
| rayim | 1,000 | 26.937s (55.17% faster) |
Total:
Before: 1091.32 MB
After: 599.46 MB (-45.0%)
Test 2 (on Intel @ 2.299GHz, 32-cores)
| Method | Number of files | Speed |
|---|---|---|
| Regular compression | 6,000 | 7m42.919s |
| rayim | 6,000 | 5m15.423s (31.96% faster) |
Total:
Before: 6040.59 MB
After: 3321.70 MB (-45.0%)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rayim-1.9.1.tar.gz
(6.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
rayim-1.9.1-py3-none-any.whl
(7.0 kB
view details)
File details
Details for the file rayim-1.9.1.tar.gz.
File metadata
- Download URL: rayim-1.9.1.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.8 Darwin/25.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96b6e2dc1f43f5bec6cb99b77bfdc1ff36508df17d60ed2cc870c2ba4d059a9b
|
|
| MD5 |
4712b5f6085064f04b1100a66c80dea8
|
|
| BLAKE2b-256 |
bb1c18e21cc5a488c450618b9aad8859a85cb3c8940068735ca1b3fc2a55fdf2
|
File details
Details for the file rayim-1.9.1-py3-none-any.whl.
File metadata
- Download URL: rayim-1.9.1-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.8 Darwin/25.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f30d5e74bbffb8c1753eb25326c07552ea8c81a731935a560e1af2b8c09664b0
|
|
| MD5 |
8ce33067d22ad2e49707c3420a697d8f
|
|
| BLAKE2b-256 |
99f260d939cd3d8ac0c54d3a5ebf0abd668be46cd98f71189735602f7fc13938
|