from weSkel.src.core.node.abstract.container_base.lib import ContainerBaseIn Maya or in a Python script run by Maya / initialized mayapy, with weSkel available. Importing om is only required when using OpenMaya types in your own code.
Metadata and plugs shared by containers, sets and the DAG branch.
from weSkel.src.core.node.abstract.container_base.lib import ContainerBaseIn Maya or in a Python script run by Maya / initialized mayapy, with weSkel available. Importing om is only required when using OpenMaya types in your own code.
| Item | Value |
|---|---|
| Class | ContainerBase |
| Module | weSkel.src.core.node.abstract.container_base.lib |
| Direct parent | DGNode |
| Represented direct descendants | DAGNode, ObjectSet |
| Own members | 0 Python properties + 21 spec properties; 0 methods defined or overridden here. |
Parent members remain available. Each section includes collapsible tables grouped by parent class, with links to the full contracts. Private methods and standard Python mechanisms are outside this inventory.
Signature : ContainerBase(node) → ContainerBase or an already registered compatible subclass.
| Parameter | Accepted types | Default |
|---|---|---|
node |
str, om.MObject, om.MObjectHandle, om.MFnDependencyNode |
Required |
Wraps an existing node or stages a wrapper if the name is unresolved; creates no node. For another wrapper, pass other.mobject. The shared registry preserves identity and may return the existing concrete wrapper. Incompatible input can raise TypeError, and identity conflicts RuntimeError.
Python properties defined on this class. om means maya.api.OpenMaya. Spec-generated properties are detailed in the following section.
No additional Python properties: this class adds the spec properties below and inherits its parent properties.
DGNode15| Property | Return type | Access | Description |
|---|---|---|---|
dep_fn |
om.MFnDependencyNode |
R | Live function set; unattached object when the node is missing. |
uuid |
str | None |
R | Live UUID, or the last staged value if still available. |
name |
str | None |
R/W | Live name, otherwise staged name. |
absolute_name |
str | None |
R | Absolute namespace name from MFnDependencyNode.absoluteName(); None without a node. |
stripped_name |
str | None |
R/W | Name without its namespace, or None when unnamed. |
namespace |
str | None |
R/W | Normalized namespace such as a:b; None at the root. |
plugs |
Plugs | None |
R | Live node plug manager; None otherwise. |
is_valid_dep_fn |
bool |
R | Function-set compatibility with the current MObject. |
is_default_node |
bool |
R | Whether this is a Maya default node; False without a node. |
is_from_referenced_file |
bool |
R | Whether the node comes from a referenced file; False without a node. |
is_locked |
bool |
R/W | Node lock, separate from plug locks. |
is_shared |
bool |
R | Shared state reported by Maya; False without a node. |
plugin_name |
str | None |
R | Associated Maya plugin name, possibly an empty string; None without a node. |
affect_animation |
bool |
R | Result of MFnDependencyNode.affectsAnimation(); False without a node. |
type |
str | None |
R/W | Live native type or staged type. |
Node10| Property | Return type | Access | Description |
|---|---|---|---|
mobject |
om.MObject |
R/W | Live Maya object, or a null object. |
mobject_handle |
om.MObjectHandle |
R/W | Handle associated with the node. |
api_type |
int | None |
R | Maya API type identifier. |
api_type_str |
str |
R | API type name, for example "kTime". |
exists |
bool |
R | The wrapper currently has a live node. |
is_null |
bool |
R | The returned Maya object is null. |
is_alive |
bool |
R | The object exists with a valid, live handle. |
is_valid_handle |
bool |
R | Validity of the stored handle. |
is_dag_node |
bool |
R | Compatibility with om.MFn.kDagNode. |
hash_code |
int |
R | Maya handle hash. |
Python and Maya names are reproduced exactly. Declared kind, Python return and declared default are different facts. A spec default is not necessarily the live node value, nor a value automatically written at creation.
The returns below describe this class descriptors; live observations use a network, container, transform, mesh or skinCluster as appropriate. Some plugs depend on the concrete type. A subclass may override a member and its write capabilities. Proxy names identify current results: do not import their private classes.
| Form | Usage |
|---|---|
_ValuePlugProxy |
.value reads the value; .plug gives a Plug, .mplug an MPlug. |
IndexedPathProxy |
Indexed access object. Resolution has limitations at this checkpoint: member cards provide verified alternatives using node.plugs[...]. |
| Flags / writing | stored, input, output, connectable describe the replay contract. They do not guarantee a native plug is editable in its current state. |
For writes where failure must be checked, use the Plug explicitly and verify live state: some descriptor setters can stage a value without propagating a Maya write error.
| Property | Maya plug | Returns |
|---|---|---|
black_box |
blackBox |
_ValuePlugProxy · .value: bool |
border_connections |
borderConnections |
list[str] |
creator |
creator |
_ValuePlugProxy · .value: str |
creation_date |
creationDate |
_ValuePlugProxy · .value: str |
custom_treatment |
customTreatment |
_ValuePlugProxy · .value: str |
hyper_layout |
hyperLayout |
None |
icon_name |
iconName |
_ValuePlugProxy · .value: str |
is_collapsed |
isCollapsed |
_ValuePlugProxy · .value: bool |
is_hierarchical_connection |
isHierarchicalConnection |
TypedArrayProxy |
rmb_command |
rmbCommand |
_ValuePlugProxy · .value: str |
template_name |
templateName |
_ValuePlugProxy · .value: str |
template_path |
templatePath |
_ValuePlugProxy · .value: str |
template_version |
templateVersion |
_ValuePlugProxy · .value: int |
container_type |
containerType |
_ValuePlugProxy · .value: str |
ui_treatment |
uiTreatment |
_ValuePlugProxy · .value: int |
view_mode |
viewMode |
_ValuePlugProxy · .value: int |
view_name |
viewName |
_ValuePlugProxy · .value: str |
published_node_info |
publishedNodeInfo |
ArrayCompoundProxy |
published_node |
publishedNodeInfo[].publishedNode |
IndexedPathProxy |
is_hierarchical_node |
publishedNodeInfo[].isHierarchicalNode |
IndexedPathProxy |
published_node_type |
publishedNodeInfo[].publishedNodeType |
IndexedPathProxy |
Maya container black-box presentation.
| Item | Type / behavior |
|---|---|
| Declared Maya path | blackBox |
| Property return | _ValuePlugProxy · .value: bool |
| Declared spec kind | numeric:bool |
| Declared default | False |
| Flags | input, output, connectable, stored |
| Read the value | node.black_box.value |
| Assignment | node.black_box = value |
Container boundary connection data.
| Item | Type / behavior |
|---|---|
| Declared Maya path | borderConnections |
| Property return | list[str] |
| Declared spec kind | array:message |
| Declared default | () |
| Flags | array, input, output, connectable |
The returned list is not a guaranteed inventory of connected nodes. Inspect sources and destinations through node.plugs[...] for actual connections.
Container creator metadata.
| Item | Type / behavior |
|---|---|
| Declared Maya path | creator |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.creator.value |
| Assignment | node.creator = value |
Creation date metadata.
| Item | Type / behavior |
|---|---|
| Declared Maya path | creationDate |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.creation_date.value |
| Assignment | node.creation_date = value |
Custom container treatment.
| Item | Type / behavior |
|---|---|
| Declared Maya path | customTreatment |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.custom_treatment.value |
| Assignment | node.custom_treatment = value |
Connection to the Hypergraph layout.
| Item | Type / behavior |
|---|---|
| Declared Maya path | hyperLayout |
| Property return | None |
| Declared spec kind | message |
| Declared default | None |
| Flags | input, output, connectable, hidden |
The descriptor setter raises AttributeError. Manage connections with node.plugs[...]; this property does not return the connected node.
Icon name associated with the container.
| Item | Type / behavior |
|---|---|
| Declared Maya path | iconName |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.icon_name.value |
| Assignment | node.icon_name = value |
Collapsed container state in Maya views.
| Item | Type / behavior |
|---|---|
| Declared Maya path | isCollapsed |
| Property return | _ValuePlugProxy · .value: bool |
| Declared spec kind | numeric:bool |
| Declared default | False |
| Flags | input, output, connectable, stored, hidden |
| Read the value | node.is_collapsed.value |
| Assignment | node.is_collapsed = value |
Hierarchical connection flags.
| Item | Type / behavior |
|---|---|
| Declared Maya path | isHierarchicalConnection |
| Property return | TypedArrayProxy |
| Declared spec kind | array:numeric:bool |
| Declared default | () |
| Flags | array, input, output, stored, hidden |
| Plug access | node.is_hierarchical_connection.plug |
| Logical element | node.is_hierarchical_connection.element_plug(i).value |
Container context-menu command.
| Item | Type / behavior |
|---|---|
| Declared Maya path | rmbCommand |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, stored |
| Read the value | node.rmb_command.value |
| Assignment | node.rmb_command = value |
Container template name.
| Item | Type / behavior |
|---|---|
| Declared Maya path | templateName |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.template_name.value |
| Assignment | node.template_name = value |
Container template path.
| Item | Type / behavior |
|---|---|
| Declared Maya path | templatePath |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.template_path.value |
| Assignment | node.template_path = value |
Container template version.
| Item | Type / behavior |
|---|---|
| Declared Maya path | templateVersion |
| Property return | _ValuePlugProxy · .value: int |
| Declared spec kind | numeric:int |
| Declared default | 0 |
| Flags | input, output, connectable, stored |
| Read the value | node.template_version.value |
| Assignment | node.template_version = value |
Container type metadata.
| Item | Type / behavior |
|---|---|
| Declared Maya path | containerType |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.container_type.value |
| Assignment | node.container_type = value |
Container presentation mode.
| Item | Type / behavior |
|---|---|
| Declared Maya path | uiTreatment |
| Property return | _ValuePlugProxy · .value: int |
| Declared spec kind | enum |
| Declared default | 0 |
| Flags | input, output, connectable, stored |
| Read the value | node.ui_treatment.value |
| Assignment | node.ui_treatment = value |
Container view mode.
| Item | Type / behavior |
|---|---|
| Declared Maya path | viewMode |
| Property return | _ValuePlugProxy · .value: int |
| Declared spec kind | enum |
| Declared default | 2 |
| Flags | input, output, connectable, stored |
| Read the value | node.view_mode.value |
| Assignment | node.view_mode = value |
Container view name.
| Item | Type / behavior |
|---|---|
| Declared Maya path | viewName |
| Property return | _ValuePlugProxy · .value: str |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, connectable, stored |
| Read the value | node.view_name.value |
| Assignment | node.view_name = value |
Array of published-node information.
| Item | Type / behavior |
|---|---|
| Declared Maya path | publishedNodeInfo |
| Property return | ArrayCompoundProxy |
| Declared spec kind | array:compound |
| Declared default | None |
| Flags | array, input, output, connectable, hidden |
| Plug access | node.published_node_info.plug |
The property returns a structure. Edit an explicit child or use Plug operations; do not replace the proxy with a Python assignment.
Connection to the published node at a given index.
| Item | Type / behavior |
|---|---|
| Declared Maya path | publishedNodeInfo[].publishedNode |
| Property return | IndexedPathProxy |
| Declared spec kind | message |
| Declared default | None |
| Flags | input, output, connectable |
| Indices | 1 logical index(es), in the order of [] in the Maya path. |
| Verified alternative · returns a Plug | node.plugs["publishedNodeInfo"][i1]["publishedNode"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
Hierarchical flag of a published node.
| Item | Type / behavior |
|---|---|
| Declared Maya path | publishedNodeInfo[].isHierarchicalNode |
| Property return | IndexedPathProxy |
| Declared spec kind | numeric:bool |
| Declared default | False |
| Flags | input, output, stored, hidden |
| Indices | 1 logical index(es), in the order of [] in the Maya path. |
| Verified alternative · returns a Plug | node.plugs["publishedNodeInfo"][i1]["isHierarchicalNode"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
Declared type of a published node.
| Item | Type / behavior |
|---|---|
| Declared Maya path | publishedNodeInfo[].publishedNodeType |
| Property return | IndexedPathProxy |
| Declared spec kind | typed:string |
| Declared default | '' |
| Flags | input, output, stored, hidden |
| Indices | 1 logical index(es), in the order of [] in the Maya path. |
| Verified alternative · returns a Plug | node.plugs["publishedNodeInfo"][i1]["publishedNodeType"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
DGNode6| Property | Maya plug | Returns | Description |
|---|---|---|---|
message |
message |
None |
Node message plug; used for connections, with no numeric value. |
frozen |
frozen |
_ValuePlugProxy · .value: bool |
Native evaluation freeze state. |
is_historically_interesting |
isHistoricallyInteresting |
_ValuePlugProxy · .value: int |
Node interest level in Maya history. |
bin_membership |
binMembership |
_ValuePlugProxy · .value: str |
Maya bin membership. |
caching_enabled |
caching |
_ValuePlugProxy · .value: bool |
Native node caching switch. |
caching_node_state |
nodeState |
_ValuePlugProxy · .value: int |
Native nodeState evaluation state. |
No new public methods on this class. Use inherited methods below; an abstract base does not provide a new creatable Maya type.
DGNode7| Method | Returns | Description |
|---|---|---|
create |
None |
Creates a missing node; does nothing if it already exists. |
delete |
None |
Disconnects live connections, detaches the wrapper and deletes the node. |
snapshot |
DGSnapshot |
Captures and stores an identity and spec-driven SVD dictionary. |
snapshot_svd |
SVDSnapshot |
Captures Source / Value / Destinations for the requested list. |
svd |
SVDView |
Returns a read-only live view of source, value and destinations; it is not a frozen capture. |
finalize |
None |
Applies all sources, then undriven values, then destinations; enabled FSET dispatch follows. |
clear_attr_cache |
None |
Clears this instance attribute cache; does not delete nodes or clear the global wrapper registry. |
Node2| Method | Returns | Description |
|---|---|---|
has_fn(fn_type) |
bool |
Test compatibility with a Maya function set. |
clear_node_registry() |
None |
Detach registered wrappers and clear their shared registry. |
| Attribute | Type | Value / role |
|---|---|---|
NODE_TYPE |
str | None |
"" |
SPEC_LAYERS |
list[SpecLayer] |
Parent layers + get_container_base_specs_all |
Attributes defined or overridden here. NODE_REGISTRY is inherited from Node. COMPATIBLE_MAYA_FN_TYPES is inherited; for a class with explicit NODE_TYPE, its use also depends on the compatibility policy described under Constructor.
The ContainerBaseSnapshot types exported by these modules are TypedDict descriptions, not classes to instantiate for capture. Use node.snapshot().
| Point | Behavior |
|---|---|
| Identity | The wrapper follows the Maya object; a replacement with the same name is not the same node. |
| Reading | Live reads take priority; check exists before native operations. |
| Specs | Describe existing plugs; do not automatically add Maya attributes. |
| Examples | The demonstration creates and deletes only its own nodes with a random name suffix. |
Self-contained example for the Maya Python Script Editor. To run it in mayapy, initialize maya.standalone before this block and shut it down afterwards, as shown in the Node.
from uuid import uuid4from weSkel.src.core.node.abstract.container_base.lib import ContainerBasefrom weSkel.src.core.node.dg.object_set.lib import ObjectSet
node = ObjectSet("api_container_" + uuid4().hex[:8])try: node.create() assert ContainerBase(node.mobject) is node node.creator = "API example" assert node.creator.value == "API example" print("ContainerBase: inherited metadata OK")finally: node.delete(snapshot=False)Expected result : ContainerBase: inherited metadata OK. Demonstration nodes are removed in finally.
SDK checkpoint 87c3486 reference. Inventory and examples checked against source under Maya 2025.3 and 2026.3; this does not validate the compiled package.