user: Describe Pose(bpy_struct) from the Blender manual or Python API, including usage steps and snippets.

assistant: # Pose(bpy_struct)

base class — [`bpy_struct`](bpy.types.bpy_struct.html#bpy.types.bpy_struct "bpy.types.bpy_struct")

*class* bpy.types.Pose(*bpy_struct*)
:   A collection of pose channels, including settings for animating bones

    animation_visualization
    :   Animation data for this data-block

        Type:
        :   [`AnimViz`](bpy.types.AnimViz.html#bpy.types.AnimViz "bpy.types.AnimViz"), (readonly, never None)

    bones
    :   Individual pose bones for the armature

        Type:
        :   [`bpy_prop_collection`](bpy.types.bpy_prop_collection.html#bpy.types.bpy_prop_collection "bpy.types.bpy_prop_collection") of [`PoseBone`](bpy.types.PoseBone.html#bpy.types.PoseBone "bpy.types.PoseBone"), (readonly)

    ik_param
    :   Parameters for IK solver

        Type:
        :   [`IKParam`](bpy.types.IKParam.html#bpy.types.IKParam "bpy.types.IKParam"), (readonly)

    ik_solver
    :   Selection of IK solver for IK chain

        - `LEGACY`
          Standard – Original IK solver.
        - `ITASC`
          iTaSC – Multi constraint, stateful IK solver.

        Type:
        :   enum in [`'LEGACY'`, `'ITASC'`], default `'LEGACY'`

    use_auto_ik
    :   Add temporary IK constraints while grabbing bones in Pose Mode

        Type:
        :   boolean, default False

    use_mirror_relative
    :   Apply relative transformations in X-mirror mode (not supported with Auto IK)

        Type:
        :   boolean, default False

    use_mirror_x
    :   Apply changes to matching bone on opposite side of X-Axis

        Type:
        :   boolean, default False

    *classmethod* apply_pose_from_action(*action*, *\**, *evaluation_time=0.0*)
    :   Apply the given action to this pose by evaluating it at a specific time. Only updates the pose of selected bones, or all bones if none are selected.

        Parameters:
        :   - **action** ([`Action`](bpy.types.Action.html#bpy.types.Action "bpy.types.Action")) – Action, The Action containing the pose
            - **evaluation_time** (*float in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Evaluation Time, Time at which the given action is evaluated to obtain the pose

    *classmethod* blend_pose_from_action(*action*, *\**, *blend_factor=1.0*, *evaluation_time=0.0*)
    :   Blend the given action into this pose by evaluating it at a specific time. Only updates the pose of selected bones, or all bones if none are selected.

        Parameters:
        :   - **action** ([`Action`](bpy.types.Action.html#bpy.types.Action "bpy.types.Action")) – Action, The Action containing the pose
            - **blend_factor** (*float in* *[**0**,* *1**]**,* *(**optional**)*) – Blend Factor, How much the given Action affects the final pose
            - **evaluation_time** (*float in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Evaluation Time, Time at which the given action is evaluated to obtain the pose

    *classmethod* backup_create(*action*)
    :   Create a backup of the current pose. Only those bones that are animated in the Action are backed up. The object owns the backup, and each object can have only one backup at a time. When you no longer need it, it must be freed use `backup_clear()`.

        Parameters:
        :   **action** ([`Action`](bpy.types.Action.html#bpy.types.Action "bpy.types.Action")) – Action, An Action with animation data for the bones. Only the animated bones will be included in the backup.

    *classmethod* backup_restore()
    :   Restore the previously made pose backup. This can be called multiple times. See `Pose.backup_create()` for more info.

        Returns:
        :   `True` when the backup was restored, `False` if there was no backup to restore

        Return type:
        :   boolean

    *classmethod* backup_clear()
    :   Free a previously made pose backup. See `Pose.backup_create()` for more info.

    *classmethod* bl_rna_get_subclass(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The RNA type or default when not found.

        Return type:
        :   [`bpy.types.Struct`](bpy.types.Struct.html#bpy.types.Struct "bpy.types.Struct") subclass

    *classmethod* bl_rna_get_subclass_py(*id*, *default=None*, */*)
    :   Parameters:
        :   **id** (*str*) – The RNA type identifier.

        Returns:
        :   The class or default when not found.

        Return type:
        :   type