Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.

Build Status

Pyblish integration for The Foundry Nuke 8-15.

What is included?

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.


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

# 2. Set-up Pyblish for Nuke
import pyblish_nuke


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. oct 31 2017 3-49 pm
  • Publish...: Publishing with the registered GUI.


It is recommended that you allow Pyblish to load upon launching Nuke. For this, you have two options.

  1. Add the above snippet to your .nuke/ in your home directory.
  2. Add the pyblish_nuke/nuke_path directory to your NUKE_PATH environment variable

As you will find, this directory contains a with the same command. Nuke will run this upon startup, along with any other available.


Under the hood

The setup() command will:

  1. Register Nuke related "hosts", allowing plug-ins to be filtered accordingly.
  2. Register a minimal set of plug-ins that are common across all integrations.

Manually show GUI

The menu-button is set to run show(), which you may also manually call yourself, such as from a shelf-button.

import pyblish_nuke

No menu-item

Should you not want a menu-item, pass menu=False.

import pyblish_nuke

Dockable GUI

Should you want to dock the pyblish UI, there is a convenience function to help.

import pyblish_nuke
window =

Teardown pyblish-nuke

To get rid of the menu, and completely remove any trace of pyblish-nuke from your Nuke session, run teardown().

import pyblish_nuke

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.




Environment Variables

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