For the complete documentation index, see llms.txt. This page is also available as Markdown.

Branching II

Let's look at a more interesting branching technique.

import pyblish.api

items = ["john", "door"]

class CollectInstances(pyblish.api.ContextPlugin):
  order = 0

  def process(self, context):
    for item in items:
      context.create_instance(item)

class PrintInstances(pyblish.api.InstancePlugin):
  order = 1

  def process(self, instance):
    print("Instance is: %s" % instance)

pyblish.api.register_plugin(CollectInstances)
pyblish.api.register_plugin(PrintInstances)

import pyblish.util
pyblish.util.publish()
# The instance is "john"
# The instance is "door"

In this case, PrintInstances will run once for every instance. That's because we subclassed InstancePlugin instead of ContextPlugin.

These two superclasses form the foundation upon which all of Pyblish is built, we'll have a much closer look these at in the following examples.

[Instance]: https://github.com/pyblish/pyblish.api/wiki/Instance

Last updated