user: What is Options and how is it used in Blender Python scripting?

assistant: [image reference removed]

Action constraint.

[Target](../interface/common.xhtml#rigging-constraints-interface-common-target)
:   The object or bone to use for calculating the Action frame. Not needed if *Evaluation Time* is used.

Evaluation Time
:   Allows specifying the Action frame through a number rather than through a transform property of a *Target*.
    A value of 0 corresponds to *Frame Start* while 1 corresponds to *Frame End* (see below).

    Like other properties, the *Evaluation Time* can be fixed,
    [keyframed](../../keyframes/introduction.xhtml), or controlled by a
    [Driver](../../drivers/introduction.xhtml). The latter can further make use of
    [Custom Properties](../../../files/custom_properties.xhtml).

Mix
:   Specifies how the evaluated Action transformation is combined with the owner’s original transformation
    (from its preceding constraints).

    Replace:
    :   The Action’s transformation replaces the owner’s.

    Before Original (Full):
    :   The Action’s transformation is applied before the owner’s. The result is the same as
        the owner’s transformation if it were a child of the Action and there was no constraint.

        If the “parent” is non-uniformly scaled and the “child” was originally rotated,
        the constraint will cause shearing, just like the default
        [Inherit Scale Full](../../armatures/bones/properties/relations.xhtml#bpy-types-editbone-inherit-scale) setting for bones.

    Before Original (Aligned):
    :   Prevents shearing by scaling the “child” along its own axes instead of the axes of
        the “parent,” just like the [Inherit Scale Aligned](../../armatures/bones/properties/relations.xhtml#bpy-types-editbone-inherit-scale)
        setting for bones.

    Before Original (Split Channels):
    :   Calculates each transform “channel” – location, rotation, and scale – separately
        from the others. The difference with *Before Original (Aligned)* is that the child’s
        location is only affected by the parent’s location, not by its rotation and scale.

    After Original (Full/Aligned/Split Channels):
    :   Like *Before Original*, except the result is the transformation of the Action
        if it were a child of the owner.

[Influence](../interface/common.xhtml#bpy-types-constraint-influence)
:   How strongly the constraint affects the owner.

### Target

Channel
:   The transform property (location/rotation/scale) and axis to use for calculating the Action frame.

[Target](../interface/common.xhtml#rigging-constraints-interface-common-space)
:   The space in which to evaluate the above *Channel*.

Range Min/Max
:   The values of the *Channel* that correspond to *Frame Start/End*.
    Despite the names, *Range Max* is allowed to be less than *Range Min*.

### Action

Action
:   The Action to use.

Slot
:   The Slot inside the Action to use.

Object Action Bone constraint only
:   By default, the constraint finds Action keyframes for a bone with the same name.
    Checking *Object Action* will use the Action’s object keyframes instead.

    The opposite – applying a bone animation to a constrained object – is not supported.
    Neither is applying all bone animations in an Action to all bones in an Armature.

Frame Start/End
:   The frames within the Action that correspond to *Range Min/Max*. *Frame End* is allowed
    to be less than *Frame Start* – this will play the animation in reverse.