Skip to content

Property Group

PropertyGroup

PropertyGroup(
    enabled: bool,
    match_name: str,
    name: str,
    property_depth: int,
    properties: list[Property | PropertyGroup],
)

Bases: PropertyBase

The PropertyGroup object represents a group of properties. It can contain Property objects and other PropertyGroup objects. Property groups can be nested to provide a parent-child hierarchy, with a Layer object at the top (root) down to a single Property object, such as the mask feather of the third mask. To traverse the group hierarchy, use PropertyBase methods and attributes; see PropertyBase.propertyGroup(). For examples of how to access properties and property groups, see PropertyBase object.

Example
from aep_parser import parse

app = parse("project.aep")
comp = app.project.compositions[0]
effects = comp.layers[0].effects
if effects is not None:
    for effect in effects:
        ...
Info

PropertyGroup is a subclass of PropertyBase. All methods and attributes of PropertyBase are available when working with PropertyGroup.

Info

PropertyGroup is a base class for Layer and MaskPropertyGroup. PropertyGroup attributes and methods are available when working with layer or mask groups.

See: https://ae-scripting.docsforadobe.dev/property/propertygroup/

Attributes

active

active: bool

Same as enabled.

can_set_enabled

can_set_enabled: bool

True if the enabled attribute value can be set.

This is True for all layers, effect property groups, shape vector groups, and text path options.

elided

elided: bool = field(init=False, default=False)

When True, the property is not shown in the UI. An elided property is still present in the timeline but hidden from view.

enabled

enabled: bool

Corresponds to the setting of the eyeball icon.

is_effect

is_effect: bool = field(init=False, default=False)

When True, this property is an effect PropertyGroup.

is_mask

is_mask: bool = field(init=False, default=False)

When True, this property is a mask PropertyGroup.

is_modified

is_modified: bool

True if any child property is modified.

For indexed groups (such as Effects or Masks parades), the group is considered modified when it has any children - adding items to an indexed group is itself a modification.

match_name

match_name: str

A special name for the property used to build unique naming paths. The match name is not displayed, but you can refer to it in scripts. Every property has a unique match-name identifier.

name

name: str

Display name of the property.

num_properties

num_properties: int

The number of child properties in this group.

Equivalent to ExtendScript PropertyGroup.numProperties.

parent_property

parent_property: PropertyGroup | None = field(
    init=False, default=None, repr=False
)

The parent PropertyGroup of this property, or None for top-level layer property groups.

properties

properties: list[Property | PropertyGroup]

List of properties in this group.

property_depth

property_depth: int

The number of levels of parent groups between this property and the containing layer. The value is 0 for a layer.

property_index

property_index: int | None

The 0-based position of this property within its parent group.

Returns None for layers (property depth 0).

Warning

Unlike ExtendScript (1-based), this uses Python's 0-based convention so that group.properties[prop.property_index] works directly.

property_type

property_type: PropertyType = field(
    init=False, default=NAMED_GROUP
)

The type of this property. One of PropertyType.PROPERTY, PropertyType.NAMED_GROUP, or PropertyType.INDEXED_GROUP.

selected

selected: bool = field(init=False, default=False)

When True, the property is selected.

Functions

property

property(
    index: int | None = None, name: str | None = None
) -> Property | PropertyGroup

Find and return a child property of this group.

The property can be specified by either its index or name (match name or display name).

Parameters:

  • index
    (int | None, default: None ) –

    The index of the property to return.

  • name
    (str | None, default: None ) –

    The name of the property to return.