Kombi is a library designed to simplify the process of describing and executing tasks. It enables you to wrap from executables to custom Python implementations, providing an API that facilitates:
- Describing complex, nested tasks
- Passing data seamlessly between tasks
- Managing task settings
- Handling common file system and path operations
- Distributing processing workloads
- Enabling interoperability across various python-based applications
Kombi is especially useful for automating and integrating various executables or APIs, optimizing workflows in tasks like image and video processing, file ingestion, data creation and versioning, and more.
By leveraging declarative definitions, Kombi accelerates prototyping and simplifies maintenance by reducing the need for boilerplate code. For more details, visit the Wiki.
- Linux
- Mac OS
- windows
Python 3.7+
Details
| Name | Version |
|---|---|
| Open Image IO (including python bindings/binary tools) | 1.7+ |
| Open Color IO (including python bindings) | 1.0+ |
| Gaffer | 0.53+ |
| PySide | 2.0+ |
| PyYAML | 6.0+ |
| Py Call Graph | 2.1+ |
| Jedi | 0.19+ |
| Qt.py | 2.4+ |
| FFmpeg (including ffprobe) | 7.0+ |
| nuke | 9.0+ |
| maya | 2016+ |
| deadline | 9.0+ |
| graphviz | 12.1+ |
In case you are building the dependencies manually skip the step below:
UI Support (Based on PySide6):
pip install "https://github.com/kombiHQ/kombi/archive/master.zip#egg=kombi[gui]"UI Legacy Support (Based on PySide2):
pip install "https://github.com/kombiHQ/kombi/archive/master.zip#egg=kombi[gui-legacy]"Basic install (No UI support):
pip install "https://github.com/kombiHQ/kombi/archive/master.zip#egg=kombi[]"Extra packages
If want to include extra packages, such as support for OpenImageIO, please add extra to the query, for instance:pip install "https://github.com/kombiHQ/kombi/archive/master.zip#egg=kombi[gui,extra]"
pip install "https://github.com/kombiHQ/kombi/archive/master.zip#egg=kombi[gui-legacy,extra]"
pip install "https://github.com/kombiHQ/kombi/archive/master.zip#egg=kombi[extra]"Manual installation: Copy the modules under
src(kombi, kombiqt) into a directory that is part of thePYTHONPATH.
Linux
apt-get install ffmpeg
apt-get install graphviz
apt-get install openimageio-toolsIn recent versions of Ubuntu, you may also need to install libxcb-cursor0 in order to use the xcb plugin for Qt:
apt install libxcb-cursor0
Details
git clone https://github.com/kombiHQ/kombi.git
cd kombi
pip install -e ".[gui,dev,extra]"Note: For PySide2 specify
gui-legacyinstead ofgui(PySide6)
Depending on the version of OpenImageIO you're using, you may need to specify an OCIO configuration. Kombi includes a basic config that can be used if needed:
export OCIO="./data/thirdparty/opencolorio/config.ocio"cd <SRC_LOCATION>
./runtestcd <SRC_LOCATION>
./runlintcd <SRC_LOCATION>
./runcoverageKombi is free software; you can redistribute it and/or modify it under the terms of the MIT License