user: Explain DriverTarget(bpy_struct) in complete detail according to the official Blender documentation.

assistant: # DriverTarget(bpy_struct)

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

*class* bpy.types.DriverTarget(*bpy_struct*)
:   Source of input values for driver variables

    bone_target
    :   Name of PoseBone to use as target

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

    context_property
    :   Type of a context-dependent data-block to access property from

        - `ACTIVE_SCENE`
          Active Scene – Currently evaluating scene.
        - `ACTIVE_VIEW_LAYER`
          Active View Layer – Currently evaluating view layer.

        Type:
        :   enum in [`'ACTIVE_SCENE'`, `'ACTIVE_VIEW_LAYER'`], default `'ACTIVE_SCENE'`

    data_path
    :   RNA Path (from ID-block) to property used

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

    fallback_value
    :   The value to use if the data path cannot be resolved

        Type:
        :   float in [-inf, inf], default 0.0

    id
    :   ID-block that the specific property used can be found from (id_type property must be set first)

        Type:
        :   [`ID`](bpy.types.ID.html#bpy.types.ID "bpy.types.ID")

    id_type
    :   Type of ID-block that can be used

        Type:
        :   enum in [Id Type Items](bpy_types_enum_items/id_type_items.html#rna-enum-id-type-items), default `'OBJECT'`

    is_fallback_used
    :   Indicates that the most recent variable evaluation used the fallback value

        Type:
        :   boolean, default False, (readonly)

    rotation_mode
    :   Mode for calculating rotation channel values

        Type:
        :   enum in [Driver Target Rotation Mode Items](bpy_types_enum_items/driver_target_rotation_mode_items.html#rna-enum-driver-target-rotation-mode-items), default `'AUTO'`

    transform_space
    :   Space in which transforms are used

        - `WORLD_SPACE`
          World Space – Transforms include effects of parenting/restpose and constraints.
        - `TRANSFORM_SPACE`
          Transform Space – Transforms don’t include parenting/restpose or constraints.
        - `LOCAL_SPACE`
          Local Space – Transforms include effects of constraints but not parenting/restpose.

        Type:
        :   enum in [`'WORLD_SPACE'`, `'TRANSFORM_SPACE'`, `'LOCAL_SPACE'`], default `'WORLD_SPACE'`

    transform_type
    :   Driver variable type

        Type:
        :   enum in [`'LOC_X'`, `'LOC_Y'`, `'LOC_Z'`, `'ROT_X'`, `'ROT_Y'`, `'ROT_Z'`, `'ROT_W'`, `'SCALE_X'`, `'SCALE_Y'`, `'SCALE_Z'`, `'SCALE_AVG'`], default `'LOC_X'`

    use_fallback_value
    :   Use the fallback value if the data path cannot be resolved, instead of failing to evaluate the driver

        Type:
        :   boolean, default False

    *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