Skip to content
A picture processing algorithm development kit
Branch: master
Clone or download
jim-easterbrook Add rawpy to documented dependencies
Signed-off-by: Jim Easterbrook <>
Latest commit 4306e29 Dec 14, 2019



A picture processing algorithm development kit.

Pyctools is a collection of picture processing primitive components that you can easily interconnect to make complex algorithm simulations. It works with stills or video, and utilises popular libraries such as Python Imaging Library, NumPy and OpenCV.

Example projects using pyctools include pyctools-pal (a simulation of the Transform PAL decoder) and pyctools-demo (demonstrations of some simple processing).


The core Pyctools library and components are documented on Read The Docs. If you install additional components you should build a local copy of the documentation to include the extra components.



  • Python version 3.x. Much of Pyctools will work with Python 2.7 but I no longer worry about compatibility when adding new features.
  • NumPy for its powerful multi-dimensional array object.
  • Python Imaging Library for image file reading and writing. (The pillow fork of PIL is recommended.)
  • Cython to build fast extensions for Python.
  • gexiv2 to handle metadata.
  • pgi or PyGObject Python wrapper for gexiv2.


  • OpenCV python bindings for advanced image processing.
  • FFmpeg to read and write video files.
  • rawkit and/or rawpy to read raw image files.
  • PyQt5 and PyOpenGL graphic toolkit used by the Pyctools visual editor and the Qt display components.
  • Sphinx and mock to build local documentation.


Please see the documentation for full details of how to install Pyctools and its requirements.


Pyctools - a picture processing algorithm development kit.
Copyright (C) 2014-19 Pyctools contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

You can’t perform that action at this time.