Function reference

Interface

builder.tree
builder.socket Typed Python wrappers around Blender node sockets.
builder.node
builder.accessor
TreeBuilder Builder for creating Blender node trees with a clean Python API.
builder.BaseNode Base class for all node wrappers.

Arrangement

Automatic node layout and its options.

arrange Arrange the nodes of a tree.
SugiyamaOptions Options for the Sugiyama (layered) arrangement.
SimpleOptions Options for the simple column-based arrangement.
default_split_inputs Scope in which every TreeBuilder left at its default
default_sugiyama_options Scope in which arrange(tree, "sugiyama") — and therefore every

Assets

Generating classes from pre-build assets

assets.generate_asset_api Generate typed asset classes for libraries into output_path.
assets.generate_asset_modules Generate typed asset classes for libraries, split into one module per
assets.dump_library Dump every node-group and material asset in blend_path to Python
assets.build_library Rebuild a .blend asset library from sources written by
assets.plot_library Render node groups from blend_path to PNG images under
assets.AssetLibrary Locates a .blend asset library on disk at runtime.
assets.BundledLibrary A node-group asset library shipped with Blender itself, under the system
assets.PackageLibrary A .blend shipped inside a Python package, located relative to a module

Export

Exporting node trees to code.

export.to_python Generate Python code that recreates the given node tree using nodebpy.
export.to_mermaid Generate a Mermaid diagram string from a node tree.
export.to_plot Draw a node tree to an image file, Blender-style.
export.serialize_library tree_clipper JSON data for each tree in trees (nested groups
export.compare_libraries Differences between two :func:serialize_library captures.

Live

Re-running source safely in a live session.

live.run_source Execute nodebpy source for a live re-run.
live.RunResult What :func:run_source produced.
live.preserve_modifier_inputs Keep Geometry Nodes modifier input values across an interface rebuild.
live.stash_groups Rename each existing bpy.data.node_groups[name] to "<name>.stale"
live.GroupStash Existing node groups renamed out of the way before a run.
live.group_names_in_source Literal _name values assigned in class bodies of code.

Geometry Nodes

Nodes use in Geometry Nodes trees.

nodes.geometry.input
nodes.geometry.attribute
nodes.geometry.color
nodes.geometry.converter
nodes.geometry.texture
nodes.geometry.grid
nodes.geometry.groups
nodes.geometry.geometry
nodes.geometry.attribute
nodes.geometry.vector
nodes.geometry.manual
nodes.geometry.zone

Shader Nodes

Nodes use in Material / Shader node trees

nodes.shader.color
nodes.shader.converter
nodes.shader.grid
nodes.shader.group
nodes.shader.input
nodes.shader.manual
nodes.shader.output
nodes.shader.script
nodes.shader.shader
nodes.shader.texture
nodes.shader.vector

Compositor Nodes

Nodes for use in the compositor

nodes.compositor.color
nodes.compositor.converter
nodes.compositor.distort
nodes.compositor.filter
nodes.compositor.group
nodes.compositor.input
nodes.compositor.interface
nodes.compositor.manual
nodes.compositor.matte
nodes.compositor.output
nodes.compositor.vector