A library of composable context managers for Nuke
Project description
nukecontexts is a library of composable context managers for Nuke to manage the state of complex compositing scripts in code.
Installation
To install nukecontexts, type:
$ pip install nukecontexts
Open Nuke’s init.py file and add:
nuke.pluginAddPath('/path/to/your/local/python/site-packages')
Getting Started
The most common use case for nukecontexts is automated rendering of multiple states of a compositing script. For example two different output formats, jpg and png.
import nuke
from nukecontexts import ctx
render_node = nuke.toNode('Write1')
with ctx.set_attr(render_node, 'file_type', 'jpeg'):
nuke.execute(render_node.name(), 1, 1, 1)
with ctx.set_attr(render_node, 'file_type', 'png'):
nuke.execute(render_node.name(), 1, 1, 1)
The power of nukecontexts comes with composable contexts, using multiple_contexts(). Arbitrarily complex, varying states of the compositing script can be defined and used to automatically generate different results.
merge_node = nuke.toNode('Merge1')
grade_node = nuke.toNode('Grade1')
switch_node = nuke.toNode('Switch1')
ctx1 = ctx.enable([merge_node, grade_node])
ctx2 = ctx.set_attr(grade_node, 'white', 2.0)
ctx3 = ctx.set_attr(switch_node, 'which', 0)
ctx4 = ctx.disable(merge_node)
with ctx.multiple_contexts([ctx1, ctx2, ctx3]):
"""Render with the merge_node and grade_node enabled, the
grade_node's white attribute set to 2.0 and the switch_node's switch
position set to 0."""
nuke.execute(render_node.name(), 1, 1, 1)
with ctx.multiple_contexts([ctx3, ctx4]):
"""Render with the switch_node's switch position set to 0 and the
merge node disabled; the grade_node's gain value remains at the
original value."""
nuke.execute(render_node.name(), 1, 1, 1)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nukecontexts-0.1.4.tar.gz
(13.6 kB
view hashes)
Built Distribution
Close
Hashes for nukecontexts-0.1.4-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 379fba30899a483c6501ea023d78c4d3d2cbb53deed103620d7e1fc6dff2a178 |
|
MD5 | 3d683ef1d9a51a56bff88e9b092c4011 |
|
BLAKE2b-256 | 0816148d4b4de2af486eef83f94a4aad227074f4ceac9204eb12b24e4d9aa5ab |