Files

Plug-ins can also be stored as files.

myplugins
├── myplugin1.py
└── myplugin2.py

Here is the full source code.

# myplugin1.py
import pyblish.api

class MyPlugin1(pyblish.api.ContextPlugin):
  def process(self, context):
    print("hello from plugin1")
# myplugin2.py
import pyblish.api

class MyPlugin2(pyblish.api.ContextPlugin):
  def process(self, context):
    print("hello from plugin2")

You then register their parent directory, similar to how you would normally register Python modules.

# Environment Variables: Windows
$ set PYBLISHPLUGINPATH=c:\myplugins;\\server\moreplugins

# Environment Variables: Unix
$ export PYBLISHPLUGINPATH=/myplugins:/moreplugins

You can also register from Python.

import pyblish.api
pyblish.api.register_plugin_path(r"c:\myplugins")

Once registered, the plug-ins are triggered upon the next publish.

import pyblish.util
pyblish.util.publish()
# hello from plugin1
# hello from plugin2

See also

Last updated