Previous releases
Summary of new features.
API
- Support for iterators
- Support for “targets”, more
- Scripted publishing and validating via Pyblish QML
Fixes
- Support for non-unique plug-in names across many directories
- External log messages no longer pollute Pyblish
Cosmetics
- Section folding in Pyblish QML
- Persistent status text in Pyblish QML
Iterators
The biggest addition is perhaps the introduction of iterators for common publishing tasks.
from pyblish import api
for result in api.publish_iter():
...
With it, you gain surgical control over the processing loop itself; enough control to control when each new process starts and what to do in between.
it = api.publish_iter()
print("Running the first one..")
result = next(it)
if not result["success"]:
print("The first one didn't succeed")
print("Running the second one..")
result = next(it)
print("Not running anything else")
Amongst the many usecases for iterators, this enables you to develop GUIs using native Pyblish functionality, where your UI performs one task, receives the result and finishes drawing and listening to user commands before commencing the next task. Drawing may include status messages and colors. User commands may include stop (or pause).
For details on what is contained in the result
dictionary, read more about it in API / result.
Enjoy, and happy new year!