# NodeSocketInterface(bpy_struct)

base class — `bpy_struct`

subclasses — `NodeSocketInterfaceStandard`

class `bpy.types.``NodeSocketInterface`(bpy_struct)

  Parameters to define node sockets

  `bl_socket_idname`

    Type: | string, default “”, (never None)

  `identifier`

    Unique identifier for mapping sockets

    Type: | string, default “”, (readonly, never None)

  `is_output`

    True if the socket is an output, otherwise input

    Type: | boolean, default False, (readonly)

  `name`

    Socket name

    Type: | string, default “”, (never None)

  `draw`(context, layout)

    Draw template settings

    Parameters: | layout (`UILayout`, (never None)) – Layout, Layout in the UI

  `draw_color`(context)

    Color of the socket icon

    Returns: | Color
    Return type: | float array of 4 items in [0, 1]

  `register_properties`(data_rna_type)

    Define RNA properties of a socket

    Parameters: | data_rna_type (`Struct`) – Data RNA Type, RNA type for special socket properties

  `init_socket`(node, socket, data_path)

    Initialize a node socket instance

    Parameters: | node (`Node`, (never None)) – Node, Node of the socket to initialize socket (`NodeSocket`, (never None)) – Socket, Socket to initialize data_path (string, (never None)) – Data Path, Path to specialized socket data

  `from_socket`(node, socket)

    Setup template parameters from an existing socket

    Parameters: | node (`Node`, (never None)) – Node, Node of the original socket socket (`NodeSocket`, (never None)) – Socket, Original socket

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` | `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`NodeTree.inputs` `NodeTree.outputs` `NodeTreeInputs.new` | `NodeTreeInputs.remove` `NodeTreeOutputs.new` `NodeTreeOutputs.remove`