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.2.tar.gz
(12.0 kB
view hashes)
Built Distribution
Close
Hashes for nukecontexts-0.1.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19f8cba6e5879bef13b99f75d210c1b49f94b79abf0ebe8c57c908103c291b4b |
|
MD5 | 359f372b06df6b1f16b4e116294c3a2d |
|
BLAKE2b-256 | bb0e0e7b5391ff1011708f57fe2491e018816e9ec9106cc4b9b40ba3c1e6a118 |