Pyblish integration for The Foundry Nuke 8-15.
A set of common plug-ins and functions shared across other integrations - such as getting the current working file. It also visually integrates Pyblish into the File-menu for easy access.
- Common plug-ins
- Common functionality
- File-menu shortcut
pyblish-nuke depends on pyblish-base and is available via PyPI.
$ pip install pyblish-nuke
You may also want to consider a graphical user interface, such as pyblish-qml or pyblish-lite.
To get started using pyblish-nuke, run setup()
at startup of your application.
# 1. Register your favourite GUI
import pyblish.api
pyblish.api.register_gui("pyblish_lite")
# 2. Set-up Pyblish for Nuke
import pyblish_nuke
pyblish_nuke.setup()
There are two options in the file menu to publishing with:
Publish
: Publishing with a silent non-GUI publish, which is fast but does not show the registered GUI.Publish...
: Publishing with the registered GUI.
It is recommended that you allow Pyblish to load upon launching Nuke. For this, you have two options.
- Add the above snippet to your
.nuke/menu.py
in your home directory. - Add the
pyblish_nuke/nuke_path
directory to yourNUKE_PATH
environment variable
As you will find, this directory contains a menu.py
with the same command. Nuke will run this upon startup, along with any other menu.py
available.
The setup()
command will:
- Register Nuke related "hosts", allowing plug-ins to be filtered accordingly.
- Register a minimal set of plug-ins that are common across all integrations.
The menu-button is set to run show()
, which you may also manually call yourself, such as from a shelf-button.
import pyblish_nuke
pyblish_nuke.show()
Should you not want a menu-item, pass menu=False
.
import pyblish_nuke
pyblish_nuke.show(menu=False)
Should you want to dock the pyblish UI, there is a convenience function to help.
import pyblish_nuke
window = pyblish_nuke.show()
pyblish_nuke.dock(window)
To get rid of the menu, and completely remove any trace of pyblish-nuke from your Nuke session, run teardown()
.
import pyblish_nuke
pyblish_nuke.teardown()
This will do the opposite of setup()
and clean things up for you.
In the event that no GUI is registered upon running setup()
, the button will provide the user with this information on how they can get up and running on their own.
You can customize the integration with these environment variables:
Environment Variable | Description | Examples |
---|---|---|
PYBLISH_HOTKEY |
Hotkey for executing File > Publish . The hotkey is not case-sensitive. You can read more about it here. |
ctrl+p , Ctrl+Alt+P , CTRL+SHIFT+P |