Optimize image files and comic archives with external tools
Project description
A multi-format, recursive, multiprocessor aware, command line image optimizer utility that uses external tools to do the optimizing.
Picopt depends on Python PIL to identify files and rarfile to open CBRs.
To optimize JPEG images. Picopt needs either jpegrescan or jpegtran on the path. jpegrescan is preferred.
To optimize lossless images like PNG, PNM, GIF, TIFF and BMP, picopt requires either optipng, advpng or pngout be on the path. Optipng provides the most advantage, but best results are acheived by using pngout as well. Advpng support is disabled by default and must be explicitly enabled on the command line.
Animated GIFs are optimized with gifsicle if it is available. Picopt may also nag you to use HTML5 video instead.
Picopt uncompresses, optimizes and rezips comic book archive files. Be aware that CBR rar archives will be rezipped into CBZs instead of CBR. Comic book archive optimization is off by defualt.
Picopt allows you to drop picopt timestamps at the root of your recursive optimization trees so you don’t have to remember which files to optimize or when you last optimized them.
Installation
Lossless external program packages
OS X
brew install optipng pngout jpeg gifsicle
Debian / Ubuntu
apt-get install optipng pngout libjpeg-progs gifsicle python-imaging
Redhat / Fedora
yum install optipng pngout libjpeg-progs gifsicle python-imaging
jpegrescan
jpegrescan is a better jpeg optimizer than jpegtran, unfortunately it remains unpackaged :(
git clone git@github.com:kud/jpegrescan.git ln -s jpegrescan/jpegrescan /usr/local/bin/jpegrescan
Picopt
pip install picopt
Usage
Optimize all JPEG files in a dirctory:
picopt *.jpg
Optimize all files and recurse directories:
picotpt -r *
Optimize files and recurse directories AND optimize comic book archives:
picopt -rc *
Optimize files, but not lossless files:
picopt -OPG *
Optimize files, but not jpegs:
picopt -JT *
Optimize files, but not animated gifs:
picopt -G *
Just list files picopt.py would try to optimize:
picopt -l *
Optimize everything in my iPhoto library, but only after the last time i did this, skipping symlinks to avoid massive amounts of duplicate work. Don’t convert lossless files to PNGs because that would confuse iPhoto. Also drop a timestamp file so I don’t have to remember the last time I did this:
picopt -rSYt -D '2013 June 1 14:00' 'Pictures/iPhoto Library'
Packaged For
Alternatives
Imageoptim is an all-in-one OS X GUI optimizer. Imageoptim command line usage is possible with an external program.
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
Built Distribution
Hashes for picopt-1.0.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a66a9eb68fd4c662d89461c611b66820fc863788edaa8ec1ce07f06a089a872a |
|
MD5 | f74e31ea5ea614cd75b32055c85e7cf9 |
|
BLAKE2b-256 | ea1fb3612d16e4f6d034893ad215b5a2d67696c746dafe0cc2ef2fdeada46d45 |