Skip to main content

A daemon to automatically handle image optimization

Project description

Imagy - make your website's images load up to 50% faster
===============

Imagy is a file daemon, that watches your website's media root (where your images are stored) and automatically optimizes image files that are created or modified within.

Imagy uses *lossless compression*, so your users never have to load unnecessary bytes. Your images look the same, but load faster.

Getting Started
-----------------

Imagy relies on a few select `binaries <https://github.com/doda/imagy#dependencies>`_ to perform image optimization. On Ubuntu (tested on 11.10) you can install everything with:

::

sudo apt-get install pngnq pngcrush imagemagick gifsicle libjpeg-progs

pip install imagy


That's it.

Running it for the first time
-----------------

A lot of work has gone into making it ``set-and-forget``. If you're running it for the first time, this command should be all you need:
::

imagy /awesome/images/

Imagy will run through the directory ``/awesome/images/`` and all its subdirectories and optimize all image files it finds. After that it will watch these directories for images that get created or modified.

The algorithms used are stable (don't further modify files after multiple invocations), however to make trying Imagy out as easy as possible, the default is to keep original files around for later reversal. For example the file ``/file.jpg`` would be copied to ``/file-original.jpg`` before optimization. If the optimized fileis not smaller than the original, no copy gets stored and the original file remains unchanged.

Further Usage
-----------------

If after some time you wish to stop using Imagy, run ``imagy --revert`` which will move all original images back to their initial location.

If you have (rightfully) come to the conclusion that you don't really need to keep originals around, set ``KEEP_ORIGINALS`` in ``config.py`` to ``False``. If you want to delete all already stored originals run ``imagy --deloriginals``.

Credits
-----------------

In the background Imagy uses the awesome library `smush.py <https://github.com/thebeansgroup/smush.py>`_ which exposes a general interface to handle the various file types.

Notes
-----------------

I use Imagy in production at `sc2wow.com <http://sc2wow.com>`_. I was able to save 150kB off my frontpage load, saving anywhere from 5% to 50% per image, though your results may differ.

`More information on how to install pip <http://www.pip-installer.org/en/latest/installing.html#prerequisites>`_

Dependencies
-----------------

- imagemagick
- gifsicle
- jpegtran (on ubuntu in libjpeg-progs)
- pngcrush
.. - pngnq

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for imagy, version 0.4.0
Filename, size & hash File type Python version Upload date
imagy-0.4.0.tar.gz (17.1 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page