Skip to content

About

Tools for Foundry Nuke / NukeX: render queue, script doctor, snapshots, text editor, project shell, BlinkScript and expression libraries, knob scrubbing, and a gizmo pack.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SleepyTools

Tools, panels and gizmos for Foundry Nuke / NukeX.
Queue renders, keep track of versions, catch script problems, and speed up the small things.

License: MIT Nuke 13+ PySide2 / PySide6

SleepyTools is a set of independent tools for compositing work in Nuke. Each one lives in its own folder, installs on its own, and adds itself under a single Nuke > SleepyTools menu. Install the ones you want and ignore the rest.

Jump to: The tools · Renders, projects and versions · Writing and checking · Node libraries · Small helpers · Requirements · Installation · Where your data lives · Finding things in Nuke · Troubleshooting · License


The tools

Tool Runs as What it is for
Renders, projects and versions Sleepy Queue Standalone app + Nuke menu A local render queue with resume, crash recovery and a live frame preview.
Sleepy Shell Standalone window + Nuke panel A project manager: browse projects and shots, launch Nuke on the right script.
Sleepy Snapshots Nuke panel + standalone A timeline of script versions and snapshots, with compare, revert and node history.
Writing and checking Sleepy Text Floating window or docked panel A text and code editor inside Nuke, with notes, tasks, Python and shot checks.
Sleepy Doctor Floating window or docked panel Scans a script for problems, explains each one and profiles node timings.
Node libraries Sleepy Expressions Docked panel Expression Lab: 161 ready-made Expression recipes.
Sleepy Blink Docked panel BlinkScript Lab: 16 ready-made BlinkScript kernels.
Sleepy Library Docked panel Save node setups with a thumbnail and tags, and insert them again.
SleepyTools gizmo pack Nodes toolbar 21 gizmos in six categories, a Command Palette and a Gizmo Manager.
Small helpers Sleepy Knobs Right-click menu + window Ready-made animation expressions for any number knob, with a live curve preview.
Sleepy Scrub Always on in the GUI Flame-style value scrubbing for numeric fields, plus a hover info card on nodes.
Shared code SleepyCore Library Qt 5/6 compatibility, settings, crash log, theme and menu helpers.

Renders, projects and versions

Sleepy Queue: a render queue on your own machine

Sleepy Queue

Rendering from the Nuke GUI blocks your session, and queuing several comps overnight by hand is fragile. Sleepy Queue renders in the background with Nuke's command line, keeps track of every frame, and deals with the usual problems. No render farm needed.

  • Send from Nuke or add scripts yourself. One job per Write node, with priority, dependencies, scheduled start and chunking.
  • Renders the version you queued. Every job renders a snapshot of the script as it was when you queued it, even if you keep editing.
  • Resumes after a crash or stop. It renders only the frames missing on disk, retries briefly locked files, and asks before overwriting existing frames.
  • Live monitoring. Progress, ETA, a built-in frame preview with a scrub slider, a check for missing and zero-byte frames, and a CPU / RAM / GPU monitor.
  • Gentle on a workstation. Render Power and a "Render While I Work" mode, resource protection, optional simultaneous renders, and shutdown or sleep when the queue finishes.

Full documentation


Sleepy Shell: a project manager

Sleepy Shell

Browse your projects and shots, then open Nuke on the right script. It runs as a standalone window you can open before Nuke starts, and as a docked panel inside Nuke.

  • Derived from disk. Versions, snapshots, renders and last-opened times are read from your folders. Shell only stores status, notes, due date and tags per shot.
  • Home and Board views, search across shots, notes, tags and node types, and tools to create projects or adopt shots it finds.
  • Works with the other tools. It uses Sleepy Snapshots and Sleepy Queue when they are installed. Neither is required.
  • Three interface variants: the main Project Manager, a Production view and a Nuke-style view.

Requires SleepyCore. Full documentation


Sleepy Snapshots: every version of a comp on one timeline

Sleepy Snapshots

Go back to any point, see exactly what changed between two states, and pull single nodes out of the past without versioning up.

  • One timeline of sibling _v### scripts, snapshots and Nuke's autosave. Group by version, day or script, and filter or search notes, tags and users.
  • Snapshots on a hotkey, a timer, every save and before every restore. They are stored compressed, identical states are kept once, and starred or manual ones are never cleaned up.
  • Compare any two states, or an entry against the live script, unsaved changes included. It lists added, removed, renamed and changed nodes, each knob's old and new value, and connection changes.
  • Revert, paste or apply. Write older values back onto a node, or paste a node from either side.
  • Node History follows one node across every saved state.
  • Also runs outside Nuke: python -m snapbrowser your_script.nk.

Full documentation


Writing and checking

Sleepy Text: an editor that lives in Nuke

Sleepy Text

For compositors and technical artists who want to write notes, edit code and manage scripts without leaving Nuke.

  • Run Python from the editor. Ctrl+Enter runs the selection or line, tracebacks are clickable, and a console and problem checker are built in.
  • Notes that travel with the work. Node notes stored inside the node, script notes, shared shot notes and rich .tnote files with formatting, images and Viewer captures.
  • Task lists in plain text, with people and due dates, collected into a TODO panel.
  • Nuke script tools. Script outline, node search, editing a Group as .nk text, and a viewer for the callbacks registered in your session.
  • Shot checks. Detects newer plate versions, and checks Write nodes before they are sent to Sleepy Queue.
  • A full editor. Syntax highlighting for Python, .nk, JSON, Markdown and more, folding, multi-cursor, find in files, snippets, templates, split view and three themes.
  • Safe by design. Crash recovery, local file history, external-change detection and optional autosave.

Full documentation


Sleepy Doctor: find what is wrong with a script

Sleepy Doctor

Checks a Nuke script for problems and explains each one: what is wrong, why it matters and how to fix it, with a link to the Foundry documentation.

  • Quick scan for files, renders, expressions, connections, colour and structure. Full scan adds performance: bounding boxes traced back to where they start, big scales, upscales, large filters, heavy nodes and channel load. You can also scan only a selection, everything upstream, or the nodes between two points.
  • Fixes are explicit, undoable and confirmed. Findings you accept can be ignored, and that is stored in the script so it travels with it.
  • Tabs for Overview, Findings, Performance, Colour, Inspect and Profile.
  • Profile uses Nuke's own performance timers per node: top 10, Viewer path only, baseline compare, and disable-and-compare.

Nothing is scanned until you press a button. Full documentation


Node libraries

Sleepy Expressions: a library of Expression recipes

Sleepy Expressions

Pick a recipe and it creates an Expression node, or a small Group when it needs neighbouring pixels (normals from a 2D image, fake relighting), connected to the selected node. Values become knobs: sliders, colour pickers and viewer handles.

  • 161 recipes in 11 categories: Normals & relight, Light & glow, Distortion STMaps, Colour, Keying & despill, Alpha & mattes, QC & fixes, CG & depth, Generators, Time & animation, and Look & overlays.
  • Searchable, and every recipe is also in the menu, so Tab search finds it too.
  • Save your own Expression nodes as recipes.

Folder


Sleepy Blink: a library of BlinkScript kernels

Sleepy Blink

BlinkScript can read neighbouring pixels, which plain Expression nodes can't. Pick a kernel, set its starting values and press Create: you get a BlinkScript node with the kernel compiled and the values set.

  • 16 kernels: Sobel normals, normal curvature, depth ambient occlusion, bilateral, median and Kuwahara filters, bokeh, directional and zoom blur, clarity, chromatic aberration, edge extend, stroke from alpha, round erode / dilate, firefly killer, and NaN / inf fixing.
  • Plain .blink files in the kernels folder, if you want to load or edit one by hand.
  • Save your own BlinkScript nodes as kernels.

Folder


Sleepy Library: your own setup library

Select nodes, give the setup a name, category, tags and description, and save it with a thumbnail rendered from the Viewer. Search it later, including the node types inside each setup, and double-click to insert it connected to your selection.

  • Plain folders (setup.nk, meta.json, thumb.png), so a library can live on a shared drive.
  • Shared libraries through the panel's Libraries dialog, or the SLEEPY_SETUP_LIBRARY environment variable for a whole team.
  • Your Nuke ToolSets show up too, read-only.

Folder


The gizmo pack, Command Palette and Gizmo Manager

Gizmo Manager

21 gizmos in six categories (Keying, Grain, Cleanup, Lens, CG and QC), all built to the same standard: a Controls tab with a header, an About tab with the inputs, a mix knob on image tools, tile colours by category, and a node graph laid out so you can read it.

  • Command Palette (Ctrl+Alt+Space): fuzzy search for commands, nodes, gizmos and nodes in your script.
  • Gizmo Manager: see where each gizmo is used, swap one for another, or bake a gizmo to a Group.
  • Previews of every gizmo's node graph in docs/previews.

Full documentation · Changelog


Small helpers

Sleepy Knobs: ready-made animation for any knob

Right-click any number knob and pick Sleepy Knob Expressions to put a ready-made expression on it.

  • Wiggle, jitter, sine, square and saw waves, bounce, spring, ease, flicker, constant speed, random per node, quantise and clamp, plus key-based ones: loop, ping-pong, time offset, stepped (on twos), smoothing and speed change.
  • Live curve preview, and optional slider knobs on a Sleepy Anim tab so you can keep tweaking.
  • Bake to keys when you are done, which is safe for the farm and for exporting.

Folder


Sleepy Scrub: Flame-style value handling

Two small tools that change how Nuke's Properties panel and Node Graph feel. Nodes, connections and colours are never touched.

  • Scrub: press and drag on a numeric field to change it live. Shift is coarse, Ctrl is fine and Alt snaps. Double-click resets, and one drag is one undo step.
  • Calculator: click a field and type 0.75, 2*3+1, or a relative edit such as +5 or *2.
  • Node Info: a hover card on nodes with resolution, format, frame range, layers and file, F1 to F4 to view Front, Back, Matte or Result, and a side-by-side comparison of two nodes.

Folder


Shared code

SleepyCore: the shared layer

Picks the right Qt binding for the running Nuke (PySide2 for Nuke 13-15, PySide6 for 16 and later), and provides settings, crash logging, a shared theme and menu helpers. Most tools carry an inline fallback and work without it, but installing it is recommended. Sleepy Shell requires it.

Folder


Requirements

  • Foundry Nuke or NukeX. The code is written for Nuke 13-15 (PySide2 / Qt 5) and Nuke 16 and later (PySide6 / Qt 6), and picks the binding that matches the running Nuke. Not every tool has been tested on every Nuke version.
  • A few tools have extra requirements:
Tool Needs
Sleepy Queue A separate Python 3.9+ with PySide6. psutil is recommended, and OpenEXR + numpy are optional (EXR preview).
Sleepy Shell SleepyCore. The standalone window needs a Python with PySide6 (or PySide2).
Sleepy Snapshots Nuke 16 or later (PySide6), with PySide2 as a fallback. The standalone mode needs a Python with PySide6, such as the one that ships with Nuke.
Sleepy Blink BlinkScript. If creating a node fails, your Nuke licence may only allow it in NukeX.
Gizmo pack NukeX for SleepyGrain's synthetic mode (F_ReGrain). Everything else uses standard Nuke nodes.

Developed mainly on Windows.


Installation

  1. Copy the folders you want into your .nuke folder (~/.nuke).

  2. Add one line per tool to ~/.nuke/init.py:

    nuke.pluginAddPath('./SleepyCore')
    nuke.pluginAddPath('./SleepyDoctor')
    nuke.pluginAddPath('./SleepyKnobs')
    nuke.pluginAddPath('./SleepyTools')    # the gizmo pack
  3. Restart Nuke and open the Nuke > SleepyTools menu.

Notes:

  • SleepyShell requires SleepyCore. Install both. The other tools use SleepyCore when it is present and work without it, but installing it is recommended.
  • SleepyQueue and SleepyText have their own install steps. See their READMEs.
  • Every tool folder has its own README with details.

Updating

Replace the tool folder with the new version and restart Nuke. Settings are stored outside the tool folders, so they are kept.

Uninstalling

  1. Close Nuke.
  2. Delete the tool's folder from your .nuke folder, and remove its nuke.pluginAddPath(...) line from ~/.nuke/init.py.
  3. Optionally delete the tool's data (see Where your data lives).

Two tools add something outside their own folder:

  • Sleepy Queue copies sleepy_queue_nuke_integration.py and sleepy_queue_path.txt into ~/.nuke, and adds a block starting with # Sleepy Queue integration to ~/.nuke/menu.py. Delete both files and that block.
  • Sleepy Text: if you added import nuke_text_editor and nuke_text_editor.install() to your own menu.py, remove those lines.

Where your data lives

On Windows, ~ is C:\Users\<you>. Sleepy Knobs and the gizmos store nothing outside your Nuke scripts.

Tool What it stores Where
Sleepy Queue Settings and queue, render logs, script snapshots, crash-recovery file ~/.nuke_batch_render_config.json, ~/.nuke_batch_render_logs/, ~/.nuke_batch_render_snapshots/, ~/.sleepy_queue_recovery.json
Sleepy Shell Preferences, recent projects, session times, scan cache %LOCALAPPDATA%\SleepyTools\ (~/SleepyTools/ where there is no LOCALAPPDATA)
Sleepy Snapshots The snapshots themselves A .snapshots folder next to each script
Settings ~/.nuke/snapshot_browser.json (set SNAPSHOT_BROWSER_HOME to use another folder)
Sleepy Text Preferences Qt settings under SleepyTools / NukeTextEditor (the registry on Windows)
Bookmarks, recovery, history, templates, snippets, scratchpad, time logs, diagnostics ~/.nuke/text_editor/ (set NUKE_TEXT_EDITOR_DATA to move it)
Node notes and script notes Inside the Nuke script
Sleepy Doctor Settings ~/.nuke/sleepy_script_doctor.json
Ignored findings Inside the Nuke script
Sleepy Expressions Your own recipes ~/.nuke/sleepy_expression_lab_user.json
Sleepy Blink Your own kernels ~/.nuke/sleepy_blinkscript_lab_user.json
Sleepy Library Your setups ~/.nuke/sleepy_setup_library/, plus any shared folders you add
Panel settings ~/.nuke/sleepy_setup_library_prefs.json
Sleepy Scrub Settings for Scrub and Node Info %LOCALAPPDATA%\SleepyTools\sleepy_scrub.json and sleepy_node_info.json
Command Palette Recent commands ~/.nuke/sleepy_palette_recent.json
SleepyCore Shared settings and crash logs ~/.nuke/sleepy_core/settings.json and ~/.nuke/sleepy_core/crash_logs/

Finding things in Nuke

Panels can also be opened from Pane menu > Windows > Custom.

You want Where it is
Send Write nodes to the render queue Nuke > SleepyTools > Sleepy Queue (Ctrl+Alt+B sends the selected Writes)
Project manager Nuke > SleepyTools > Project Manager
Snapshots Nuke > SleepyTools > Snapshots (Ctrl+Alt+S takes a snapshot)
The text editor Nuke > SleepyTools > Sleepy Text, and Sleepy Text Tools for notes, plates and pre-render checks
Script checks Nuke > SleepyTools > Script Doctor
Expression recipes Nuke > SleepyTools > Expression Lab, or every recipe under Expressions and Tab search
BlinkScript kernels Nuke > SleepyTools > BlinkScript Lab, or every kernel under BlinkScripts and Tab search
Setup library Nuke > SleepyTools > Setup Library, and Save selected to Setup Library…
Knob expressions Right-click a number knob, or Nuke > SleepyTools > Knob Expression Lab
Value scrubbing and node info Nuke > SleepyTools > Scrub Fields and Node Info
Gizmos Nodes toolbar > SleepyTools, one submenu per category
Command Palette and Gizmo Manager Nuke > SleepyTools (Ctrl+Alt+Space opens the palette)

Troubleshooting

Nothing shows up in Nuke. Check that the tool's folder is in your .nuke folder and that ~/.nuke/init.py has its nuke.pluginAddPath(...) line, then restart Nuke. Look in Nuke's Script Editor output (or the terminal you started Nuke from) for an error such as Sleepy Expressions failed to load. Menus are built in a Nuke GUI session, not in render or terminal sessions.

I replaced a tool and nothing changed. Restart Nuke after replacing a tool folder.

Sleepy Shell does not load. It requires SleepyCore. Install both folders and add both nuke.pluginAddPath(...) lines.

Sleepy Queue does not open, or Nuke cannot find a Python for it. Sleepy Queue needs a normal Python with PySide6, not Nuke's own. Install it with python -m pip install PySide6 psutil, or set the environment variable SLEEPY_QUEUE_PYTHON to that python.exe. Startup errors are written to ~/.nuke_batch_render_logs/sleepy_queue_errors.log. More in the Sleepy Queue README.

A standalone launcher does not start. SleepyShell.bat and SleepySnapshots.bat point at a Python on your machine. Open the file and change the PYTHON line (Sleepy Shell) or the NUKE_PYTHON line (Sleepy Snapshots) to your own path.

Creating a BlinkScript node fails. Your Nuke licence may only allow BlinkScript in NukeX.

SleepyGrain's synthetic mode. It needs NukeX (F_ReGrain). Everything else in the gizmo pack uses standard Nuke nodes.


Feedback

Found a bug or have an idea? Open an issue. It helps to say which tool it is, which Nuke version and operating system you use, what you did, and to paste any text from the Script Editor or the terminal.

Author

Made by Pedro Gartner.


License

The code in this repository is released under the MIT License, except SleepyText, which keeps its own BSD-style license in SleepyText/LICENSE.

Disclaimer

SleepyTools is an independent project. It is not affiliated with or endorsed by Foundry. Nuke and NukeX are trademarks of Foundry Visionmongers Ltd.

About

Tools for Foundry Nuke / NukeX: render queue, script doctor, snapshots, text editor, project shell, BlinkScript and expression libraries, knob scrubbing, and a gizmo pack.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages