Skip to main content

A library of composable context managers for Nuke

Project description

https://img.shields.io/pypi/l/nukecontexts.svg https://img.shields.io/pypi/pyversions/nukecontexts.svg https://img.shields.io/pypi/v/nukecontexts.svg https://img.shields.io/pypi/wheel/nukecontexts.svg https://readthedocs.org/projects/nukecontexts/badge/?version=latest

nukecontexts is a library of composable context managers for Nuke to manage the state of complex compositing scripts in code.

Full Documentation

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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nukecontexts-0.2.0-py2-none-any.whl (7.3 kB view details)

Uploaded Python 2

File details

Details for the file nukecontexts-0.2.0.tar.gz.

File metadata

  • Download URL: nukecontexts-0.2.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nukecontexts-0.2.0.tar.gz
Algorithm Hash digest
SHA256 7a39e32bd3d8a94861e294dc09e0e28ef4cbc8a2d11e400d05713b3ddb8345ed
MD5 5418d51d4cb4171310648d9c25cf52d8
BLAKE2b-256 68a7b1e6c0865bb53f36b896ebe7ac63e1e0d858190f9a056b0260bf8ae84b42

See more details on using hashes here.

File details

Details for the file nukecontexts-0.2.0-py2-none-any.whl.

File metadata

File hashes

Hashes for nukecontexts-0.2.0-py2-none-any.whl
Algorithm Hash digest
SHA256 202c5b858401300a31f2cfadb89bb6e6f1ad278a1aa9673b477dfeae8740b750
MD5 933c48d2f37bec3020dc3bfd25d1b7aa
BLAKE2b-256 33a0a1b4680700ec0a1b4255267bcec976bd83c3973d5accdbdbde93616c3f67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page