Skip to content
heynemann edited this page Dec 14, 2011 · 14 revisions

thumbor uses the Tornado web server (http://www.tornadoweb.org/), which is automatically installed.

The other requirements for using thumbor depend on your choice of features, which is why we'll outline here the requirements per feature used, instead of overall requirements.

Loader

The loader is the class responsible for loading the images before transformations. The requirements depend on each loader.

The filesystem loader does not have any dependencies, while the Http loader requires the PyCurl library - which is installed during thumbor's install.

Storage

The storage class is responsible for keeping the original images in a local cache. Currently supported options are redis, mongodb, mySQL and filesystem.

The filesystem storage does not have any dependencies (other than setting the proper configurations in the configuration file).

The Redis storage requires the "redis" python package, which is installed during thumbor's install.

The mongodb storage requires the "pymongo" python package.

The mySQL storage requires the "MySQLdb" python package.

Imaging Engine

Choosing at least one imaging engine is required. The imaging engine is responsible for loading, resizing, cropping, etc. thumbor comes pre-packaged with PIL, GraphicsMagick and OpenCV image engines.

We dropped support for ImageMagick as GraphicsMagick is a better option with similar API and requirements.

We recommend the GraphicsMagick image engine as it produce better results, faster.

If you choose the PIL (http://www.pythonware.com/products/pil/) engine, there are no aditional steps as it is installed during thumbor's install. The team behind thumbor uses the pip installation version of PIL.

If you go with the graphicsmagick engine, you have to install it. More info on their website at http://www.graphicsmagick.org/. thumbor also requires pgmagick (python bindings for GraphicsMagick) to be installed. More info on https://bitbucket.org/hhatto/pgmagick/src.

If you decide on the OpenCV engine, you'll need to have it installed. Below we explain how to install OpenCV in the Facial and Feature Detection section.

Facial and Feature Detection

For facial or feature detection (more on that at Detection Algorithms) thumbor relies on OpenCV's (http://opencv.willowgarage.com/wiki/Welcome) detection algorithms. In order to use the detectors that come pre-packaged with thumbor you'll need to have both OpenCV 2.2 (or greater) and it's bindings for python working.

Installing OpenCV with python support can be a little tricky, so here are some resources that might help you get started:

Clone this wiki locally