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.2.0.tar.gz
(14.0 kB
view hashes)
Built Distribution
Close
Hashes for nukecontexts-0.2.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 202c5b858401300a31f2cfadb89bb6e6f1ad278a1aa9673b477dfeae8740b750 |
|
MD5 | 933c48d2f37bec3020dc3bfd25d1b7aa |
|
BLAKE2b-256 | 33a0a1b4680700ec0a1b4255267bcec976bd83c3973d5accdbdbde93616c3f67 |