Small Python CLI application to optimize images (including the cover) inside epub files. Perfect fit for optimizing LNs as they usually have a lot of images.
From PyPI directly:
pip install epub-image-optimizer
or
python3 -m pip install epub-image-optimizer
Usage: epub-image-optimizer [OPTIONS]
EPUB Image Optimization tool
Options:
--input-dir DIRECTORY Input folder
--output-dir DIRECTORY Output folder
--input-file FILE Path to Epub Input file
--max-image-resolution <INTEGER INTEGER>...
Fit image resolution to this values, good
for handling images with higher
resolutions than your ebook-reader
--tinify-api-key TEXT Tinify api-key
--only-cover Optimize only the cover image, ignoring all
other images
--workers INTEGER Number of threaded workers to use, default
is 'cpu count + 4'
--keep-color If this flag is present images will preserve
colors (not converted to BW)
--log-level [INFO|DEBUG|WARN|ERROR]
Set log level, default is 'INFO'
--version Show current version
--help Show this message and exit.
epub-image-optimizer --input-file <my-epub>
epub-image-optimizer --input-file <my-epub> --only-cover
epub-image-optimizer --input-file <my-epub> --keep-color
Note: At the moment this won't do anything as there is currently no optimization if not using Tinify.
epub-image-optimizer --input-file <my-epub> --keep-color --tinify-api-key <tinify-api-key>
Note: You can obtain your Tinify API Key here. Free tier is limited to 500 images/month.
epub-image-optimizer --input-dir <folder> --max-image-resolution 1680 1264 --tinify-api-key <tinify-api-key>
Note: This will optimize all epubs inside input-dir
folder, used my Kobo Libra H2O screen size as example.
Poetry is used for managing packages, dependencies and building the project.
Poetry can be installed by following the instructions. Afterwards you can use poetry install
within the project folder to install all dependencies.