Pyblish Lite, the middleman

There was a question in the chat recently about a particular use of Lite that caught my interest.

from Qt import QtCore
import pyblish_lite

def on_published():
  QtCore.QTimer.singleShot(10, window.close)

window = pyblish_lite.show()
window.controller.was_published.connect(on_published)

This enables another tool to trigger on completing a publish.

Requires pyblish-lite>=0.6.3

Goal

The goal was to run Lite as a step in-between a series of other steps. For example, to trigger an in-house tool that, once finished, launches the Lite GUI, which upon finishing the publish, triggers another tool.

 ________      ______      ________
|        |    |      |    |        |
| Tool A |--->| Lite |--->| Tool B |
|________|    |______|    |________|

Examples

  • Tool A could have been a bespoke GUI to massage content in the scene, like correcting various faults, or appending various kinds of metadata.
  • Tool B could be a bespoke clean up tool, perhaps an external exporter to a game engine such as Unreal Editor. Something that would have been difficult or unintuitive to stick into a Pyblish integrator plug-in.

Possibilities are endless, and is a good example of how to daisy-chain graphical user interfaces with one another.

Enjoy!