Skip to main content

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.

Supported Python versions PEP8

Requirements

To install ray, run*:

pip install ray

*For Apple Silicon (M1), follow the instructions here to install ray.

⬇️ Installation

pip install rayim

⌨️ Usage

usage: rayim [-h] [-o OUTPUT_DIR] [-q QUALITY] [--overwrite] [-N] [-j] [-s]
           path [path ...]

positional arguments:
  path                  Path to a single file/directory or multiple
                        files/directories

optional arguments:
  -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
  -s, --silent          Silent mode

📕 Examples

  • Running on a single file:
rayim foo.jpg
# 🚀 foo.jpg: 1157. kB ==> 619.9 kB (-46.4%) | 0.07s
  • Running on a folder foo and writing the output to compressed
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.7 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


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.2.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

rayim-1.2.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file rayim-1.2.0.tar.gz.

File metadata

  • Download URL: rayim-1.2.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Darwin/21.3.0

File hashes

Hashes for rayim-1.2.0.tar.gz
Algorithm Hash digest
SHA256 99cbd3ef31b98bdfd5e7972a9fa59c0fed4c02db0453e3689c5967da9dab52c6
MD5 ae22eb08792ce2d5f7102bd5473bd8eb
BLAKE2b-256 9c73be5de5d108de372bbce4c4319a96b9803eb358bd2cd340e1497d8ca13faf

See more details on using hashes here.

File details

Details for the file rayim-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: rayim-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.10 Darwin/21.3.0

File hashes

Hashes for rayim-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48e45faf5cfd36fcd33006d8155f8751772453df4510e60b88204cc17c420397
MD5 3257c00580d47312caf2d7f13d21ad99
BLAKE2b-256 0c7464b3b34d63dc0096743fd90f0134977f4a43a4f425e428a4a1254ff84309

See more details on using hashes here.

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