thumbor-wand-engine
thumbor-wand-engine copied to clipboard
🧙♂️ ImageMagick engine for Thumbor
thumbor-wand-engine
thumbor-wand-engine is an ImageMagick imaging engine for thumbor.
Installation
You can install the package from PyPI with pip
:
$ pip install thumbor-wand-engine
Requirements
- Python 3.7 or higher
- MagickWand library
-
libmagickwand-dev
for APT on Debian/Ubuntu -
ImageMagick-devel
for Yum on CentOS -
imagemagick
for MacPorts/Homebrew on Mac
-
Why another engine
Thumbor ships with a builtin engine, however with thumbor-wand-engine you get:
- Smaller images ⏳ 💲
- Better image quality 🤩
- Support to animated WEBP ⏳ 💲
- Support to AVIF and HEIC 🖼
- IPTC/XMP data preservation 📜
- Smoother blur ✨
- Sharper resizing 📐
- Better watermarking 🏷
Usage
To use this engine with thumbor, define thumbor_wand_engine
as the imaging
engine in thumbor.conf
:
# imaging engine to use to process images
ENGINE = "thumbor_wand_engine"
Development
Requirements
- Python 3.6 or higher
- An activated virtual environment
- pre-commit
Create a development environment
-
Start by creating a new Python virtual environment with the tool of your choice (we recommend pyenv)
-
Install pre-commit (we recommend installing it not as part of the virtual environment — use your system's package manager)
-
Install thumbor-wand-engine in editable mode with all required dependencies:
$ make setup
Run tests
Once you have a working development environment:
-
Code!
🤓 🤔 💡 ⚡️ 🖼
-
Run tests
$ make test
-
Check code coverage
$ make coverage-html $ open htmlcov/index.html
-
Lint the code:
$ make lint
-
Repeat!
Have fun!
License
Code in this repository is distributed under the terms of the MIT License.
See LICENSE for details.