Installing CueSubmit

Install CueSubmit to submit render jobs

The OpenCue job submission GUI.

This is a Python-based QT app through which you can submit jobs to an OpenCue deployment. It can run as a standalone application, or as a plug-in for applications that support PySide2 integration, such as Autodesk’s Maya or Foundry’s Nuke.

Before you begin

  1. Before you start to work through this guide, complete the steps in Installing PyCue and PyOutline.

  2. You need the same Cuebot hostname that you used to configure PyCue in this guide as well. If you don’t know the Cuebot hostname, check with your OpenCue admin. After you know this, set the CUEBOT_HOSTNAME_OR_IP environment variable:

    export CUEBOT_HOSTNAME_OR_IP=localhost
    
  3. To follow the instructions in this guide, you’ll need the following software:

Installing CueSubmit standalone

CueSubmit is written in Python. To run CueSubmit, you install a series of dependencies and configure a virtual environment for the Python code to run inside.

  1. To install the required Python packages, create an isolated Python environment:

    virtualenv venv
    
  2. Evaluate the commands in the activate file in your current shell:

    TIP: To review the contents of the activate file, run cat activate.

    source venv/bin/activate
    

Option 1: Installing a published release

  1. Visit the OpenCue releases page.

  2. Download the cuesubmit tarball from the latest release’s Assets.

  3. Run the following commands in a terminal to install a cuesubmit executable in the PATH of your environment:

    export CUESUBMIT_TAR="<path to cuesubmit tar.gz>"
    export CUESUBMIT_DIR=$(basename "$CUESUBMIT_TAR" .tar.gz)
    tar xvzf "$CUESUBMIT_TAR"
    cd "$CUESUBMIT_DIR"
    pip install -r requirements.txt
    pip install -r requirements_gui.txt
    python setup.py install
    
  4. Run CueSubmit:

    CUEBOT_HOSTS=$CUEBOT_HOSTNAME_OR_IP cuesubmit
    

Option 2: Installing from source

Make sure you’ve checked out the source code and your current directory is the root of the checked out source.

pip install -r requirements.txt
pip install -r requirements_gui.txt
cd cuesubmit

You can either install CueSubmit from here and run the cuesubmit executable that gets created:

python setup.py install
cd ..
CUEBOT_HOSTS=$CUEBOT_HOSTNAME_OR_IP cuesubmit

OR you can run the software directly, without installing:

CUEBOT_HOSTS=$CUEBOT_HOSTNAME_OR_IP PYTHONPATH=$PYTHONPATH:. python ./cuesubmit

Installing CueSubmit plug-ins

CueSubmit comes packaged with plug-ins for Maya and Nuke. These plug-ins can serve as a template if you wish to write new plug-ins on your own.

Installing the Maya plug-in

To install the Maya plug-in:

  1. Create or locate your Maya.env file as described in Setting environment variables using Maya.env.

  2. Add one of the following blocks of code, depending on your operating system:

    • For macOS and Linux:

      # Point Maya to the CueSubmit install.
      PYTHONPATH=$PYTHONPATH:<cuesubmit install path>/plugins/maya
      XBMLANGPATH=$XBMLANGPATH:<cuesubmit install path>/plugins/maya
      # Help OpenCue find the required library dependencies.
      CUE_PYTHONPATH=<path to virtualenv>/lib/python2.7/site-packages
      # The hostname of your Cuebot instance.
      CUEBOT_HOSTS=localhost
      
    • For Windows:

      # Point Maya to the CueSubmit install.
      PYTHONPATH=$PYTHONPATH;<cuesubmit install path>/plugins/maya
      XBMLANGPATH=$XBMLANGPATH;<cuesubmit install path>/plugins/maya
      # Help OpenCue find the required library dependencies.
      CUE_PYTHONPATH=<path to virtualenv>/lib/python2.7/site-packages
      # The hostname of your Cuebot instance.
      CUEBOT_HOSTS=localhost
      
  3. Restart Maya.

Maya should now contain a new “OpenCue” shelf with a single “Render on OpenCue” item.

Installing the Nuke plug-in

To install the Nuke plug-in:

  1. Create a menu.py file or locate your existing one as described in Defining Custom Menus and Toolbars.

  2. Add the following content:

    import os
    import nuke
    # Path to Python binary used to execute the CueSubmit app. If you set up
    # virtualenv, use this path. If you're using a systemwide Python install,
    # you can probably set this to be just "python".
    os.environ['CUE_PYTHON_BIN'] = '<path to virtualenv>/bin/python'
    # Hostname of your Cuebot instance.
    os.environ['CUEBOT_HOSTS'] = 'localhost'
    nuke.pluginAddPath('<path to cuesubmit install>/plugins/nuke')
    
  3. Restart Nuke.

Nuke should now contain a new menu item “Render > Render on OpenCue”.

What’s next?