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