bpy_struct
==========

.. currentmodule:: bpy.types

subclasses --- 
:class:`AOV`, :class:`AOVs`, :class:`ActionChannelbag`, :class:`ActionChannelbagFCurves`, :class:`ActionChannelbagGroups`, :class:`ActionChannelbags`, :class:`ActionGroup`, :class:`ActionLayer`, :class:`ActionLayers`, :class:`ActionPoseMarkers`, :class:`ActionSlot`, :class:`ActionSlots`, :class:`ActionStrip`, :class:`ActionStrips`, :class:`Addon`, :class:`AddonPreferences`, :class:`Addons`, :class:`AnimData`, :class:`AnimDataDrivers`, :class:`AnimViz`, :class:`AnimVizMotionPaths`, :class:`AnnotationFrame`, :class:`AnnotationFrames`, :class:`AnnotationLayer`, :class:`AnnotationLayers`, :class:`AnnotationStroke`, :class:`AnnotationStrokePoint`, :class:`AnyType`, :class:`Area`, :class:`AreaSpaces`, :class:`ArmatureBones`, :class:`ArmatureConstraintTargets`, :class:`ArmatureEditBones`, :class:`AssetLibraryCollection`, :class:`AssetLibraryReference`, :class:`AssetMetaData`, :class:`AssetRepresentation`, :class:`AssetShelf`, :class:`AssetTag`, :class:`AssetTags`, :class:`AssetWeakReference`, :class:`Attribute`, :class:`AttributeGroupCurves`, :class:`AttributeGroupGreasePencil`, :class:`AttributeGroupGreasePencilDrawing`, :class:`AttributeGroupMesh`, :class:`AttributeGroupPointCloud`, :class:`BakeSettings`, :class:`BezierSplinePoint`, :class:`BlendData`, :class:`BlendDataActions`, :class:`BlendDataAnnotations`, :class:`BlendDataArmatures`, :class:`BlendDataBrushes`, :class:`BlendDataCacheFiles`, :class:`BlendDataCameras`, :class:`BlendDataCollections`, :class:`BlendDataCurves`, :class:`BlendDataFonts`, :class:`BlendDataGreasePencilsV3`, :class:`BlendDataHairCurves`, :class:`BlendDataImages`, :class:`BlendDataLattices`, :class:`BlendDataLibraries`, :class:`BlendDataLights`, :class:`BlendDataLineStyles`, :class:`BlendDataMasks`, :class:`BlendDataMaterials`, :class:`BlendDataMeshes`, :class:`BlendDataMetaBalls`, :class:`BlendDataMovieClips`, :class:`BlendDataNodeTrees`, :class:`BlendDataObjects`, :class:`BlendDataPaintCurves`, :class:`BlendDataPalettes`, :class:`BlendDataParticles`, :class:`BlendDataPointClouds`, :class:`BlendDataProbes`, :class:`BlendDataScenes`, :class:`BlendDataScreens`, :class:`BlendDataSounds`, :class:`BlendDataSpeakers`, :class:`BlendDataTexts`, :class:`BlendDataTextures`, :class:`BlendDataVolumes`, :class:`BlendDataWindowManagers`, :class:`BlendDataWorkSpaces`, :class:`BlendDataWorlds`, :class:`BlendFileColorspace`, :class:`BlendImportContext`, :class:`BlendImportContextItem`, :class:`BlendImportContextItems`, :class:`BlendImportContextLibraries`, :class:`BlendImportContextLibrary`, :class:`BlenderRNA`, :class:`BoidRule`, :class:`BoidSettings`, :class:`BoidState`, :class:`Bone`, :class:`BoneCollection`, :class:`BoneCollectionMemberships`, :class:`BoneCollections`, :class:`BoneColor`, :class:`BoolAttributeValue`, :class:`BrushCapabilities`, :class:`BrushCapabilitiesImagePaint`, :class:`BrushCapabilitiesSculpt`, :class:`BrushCapabilitiesVertexPaint`, :class:`BrushCapabilitiesWeightPaint`, :class:`BrushCurvesSculptSettings`, :class:`BrushGpencilSettings`, :class:`ByteColorAttributeValue`, :class:`ByteIntAttributeValue`, :class:`CacheFileLayer`, :class:`CacheFileLayers`, :class:`CacheObjectPath`, :class:`CacheObjectPaths`, :class:`CameraBackgroundImage`, :class:`CameraBackgroundImages`, :class:`CameraDOFSettings`, :class:`CameraStereoData`, :class:`ChannelDriverVariables`, :class:`ChildParticle`, :class:`ClothCollisionSettings`, :class:`ClothSettings`, :class:`ClothSolverResult`, :class:`CollectionChild`, :class:`CollectionChildren`, :class:`CollectionExport`, :class:`CollectionExports`, :class:`CollectionLightLinking`, :class:`CollectionObject`, :class:`CollectionObjects`, :class:`CollisionSettings`, :class:`ColorManagedDisplaySettings`, :class:`ColorManagedInputColorspaceSettings`, :class:`ColorManagedSequencerColorspaceSettings`, :class:`ColorManagedViewSettings`, :class:`ColorMapping`, :class:`ColorRamp`, :class:`ColorRampElement`, :class:`ColorRampElements`, :class:`ConsoleLine`, :class:`Constraint`, :class:`ConstraintTarget`, :class:`ConstraintTargetBone`, :class:`Context`, :class:`CryptomatteEntry`, :class:`CurveMap`, :class:`CurveMapPoint`, :class:`CurveMapPoints`, :class:`CurveMapping`, :class:`CurvePaintSettings`, :class:`CurvePoint`, :class:`CurveProfile`, :class:`CurveProfilePoint`, :class:`CurveProfilePoints`, :class:`CurveSlice`, :class:`CurveSplines`, :class:`Depsgraph`, :class:`DepsgraphObjectInstance`, :class:`DepsgraphUpdate`, :class:`DisplaySafeAreas`, :class:`DopeSheet`, :class:`Driver`, :class:`DriverTarget`, :class:`DriverVariable`, :class:`DynamicPaintBrushSettings`, :class:`DynamicPaintCanvasSettings`, :class:`DynamicPaintSurface`, :class:`DynamicPaintSurfaces`, :class:`EQCurveMappingData`, :class:`EditBone`, :class:`EffectorWeights`, :class:`EnumPropertyItem`, :class:`Event`, :class:`FCurve`, :class:`FCurveKeyframePoints`, :class:`FCurveModifiers`, :class:`FCurveSample`, :class:`FFmpegSettings`, :class:`FModifier`, :class:`FModifierEnvelopeControlPoint`, :class:`FModifierEnvelopeControlPoints`, :class:`FieldSettings`, :class:`FileAssetSelectIDFilter`, :class:`FileBrowserFSMenuEntry`, :class:`FileHandler`, :class:`FileSelectEntry`, :class:`FileSelectIDFilter`, :class:`FileSelectParams`, :class:`Float2AttributeValue`, :class:`Float4x4AttributeValue`, :class:`FloatAttributeValue`, :class:`FloatColorAttributeValue`, :class:`FloatVectorAttributeValue`, :class:`FloatVectorValueReadOnly`, :class:`FluidDomainSettings`, :class:`FluidEffectorSettings`, :class:`FluidFlowSettings`, :class:`ForeachGeometryElementGenerationItem`, :class:`ForeachGeometryElementInputItem`, :class:`ForeachGeometryElementMainItem`, :class:`FreestyleLineSet`, :class:`FreestyleModuleSettings`, :class:`FreestyleModules`, :class:`FreestyleSettings`, :class:`Function`, :class:`GPencilInterpolateSettings`, :class:`GPencilSculptGuide`, :class:`GPencilSculptSettings`, :class:`GeometryNodeFieldToGridItem`, :class:`GeometryNodeFieldToGridItems`, :class:`GeometryNodeFieldToListItem`, :class:`GeometryNodeFieldToListItems`, :class:`Gizmo`, :class:`GizmoGroup`, :class:`GizmoGroupProperties`, :class:`GizmoProperties`, :class:`Gizmos`, :class:`GreasePencilDashModifierSegment`, :class:`GreasePencilDrawing`, :class:`GreasePencilFrame`, :class:`GreasePencilFrames`, :class:`GreasePencilLayerMask`, :class:`GreasePencilLayerMasks`, :class:`GreasePencilTimeModifierSegment`, :class:`GreasePencilTreeNode`, :class:`GreasePencilv3LayerGroup`, :class:`GreasePencilv3Layers`, :class:`Header`, :class:`Histogram`, :class:`ID`, :class:`IDMaterials`, :class:`IDOverrideLibrary`, :class:`IDOverrideLibraryProperties`, :class:`IDOverrideLibraryProperty`, :class:`IDOverrideLibraryPropertyOperation`, :class:`IDOverrideLibraryPropertyOperations`, :class:`IDPropertyWrapPtr`, :class:`IKParam`, :class:`ImageFormatSettings`, :class:`ImagePackedFile`, :class:`ImagePreview`, :class:`ImageUser`, :class:`IndexSwitchItem`, :class:`Int2AttributeValue`, :class:`IntAttributeValue`, :class:`KeyConfig`, :class:`KeyConfigPreferences`, :class:`KeyConfigurations`, :class:`KeyMap`, :class:`KeyMapItem`, :class:`KeyMapItems`, :class:`KeyMaps`, :class:`Keyframe`, :class:`KeyingSet`, :class:`KeyingSetInfo`, :class:`KeyingSetPath`, :class:`KeyingSetPaths`, :class:`KeyingSets`, :class:`KeyingSetsAll`, :class:`LatticePoint`, :class:`LayerCollection`, :class:`LayerObjects`, :class:`LayoutPanelState`, :class:`LibraryWeakReference`, :class:`Lightgroup`, :class:`Lightgroups`, :class:`LineStyleAlphaModifiers`, :class:`LineStyleColorModifiers`, :class:`LineStyleGeometryModifiers`, :class:`LineStyleModifier`, :class:`LineStyleTextureSlots`, :class:`LineStyleThicknessModifiers`, :class:`Linesets`, :class:`LoopColors`, :class:`Macro`, :class:`MaskLayer`, :class:`MaskLayers`, :class:`MaskParent`, :class:`MaskSpline`, :class:`MaskSplinePoint`, :class:`MaskSplinePointUW`, :class:`MaskSplinePoints`, :class:`MaskSplines`, :class:`MaterialGPencilStyle`, :class:`MaterialLineArt`, :class:`MaterialSlot`, :class:`Menu`, :class:`MeshEdge`, :class:`MeshEdges`, :class:`MeshLoop`, :class:`MeshLoopColor`, :class:`MeshLoopColorLayer`, :class:`MeshLoopTriangle`, :class:`MeshLoopTriangles`, :class:`MeshLoops`, :class:`MeshNormalValue`, :class:`MeshPolygon`, :class:`MeshPolygons`, :class:`MeshSkinVertex`, :class:`MeshSkinVertexLayer`, :class:`MeshStatVis`, :class:`MeshUVLoop`, :class:`MeshUVLoopLayer`, :class:`MeshVertex`, :class:`MeshVertices`, :class:`MetaBallElements`, :class:`MetaElement`, :class:`Modifier`, :class:`MotionPath`, :class:`MotionPathVert`, :class:`MovieClipProxy`, :class:`MovieClipScopes`, :class:`MovieClipUser`, :class:`MovieReconstructedCamera`, :class:`MovieTracking`, :class:`MovieTrackingCamera`, :class:`MovieTrackingDopesheet`, :class:`MovieTrackingMarker`, :class:`MovieTrackingMarkers`, :class:`MovieTrackingObject`, :class:`MovieTrackingObjectPlaneTracks`, :class:`MovieTrackingObjectTracks`, :class:`MovieTrackingObjects`, :class:`MovieTrackingPlaneMarker`, :class:`MovieTrackingPlaneMarkers`, :class:`MovieTrackingPlaneTrack`, :class:`MovieTrackingPlaneTracks`, :class:`MovieTrackingReconstructedCameras`, :class:`MovieTrackingReconstruction`, :class:`MovieTrackingSettings`, :class:`MovieTrackingStabilization`, :class:`MovieTrackingTrack`, :class:`MovieTrackingTracks`, :class:`NDOFMotionEventData`, :class:`NlaStrip`, :class:`NlaStripFCurves`, :class:`NlaStrips`, :class:`NlaTrack`, :class:`NlaTracks`, :class:`Node`, :class:`NodeClosureInputItem`, :class:`NodeClosureInputItems`, :class:`NodeClosureOutputItem`, :class:`NodeClosureOutputItems`, :class:`NodeCombineBundleItem`, :class:`NodeCombineBundleItems`, :class:`NodeCompositorFileOutputItem`, :class:`NodeCompositorFileOutputItems`, :class:`NodeEnumItem`, :class:`NodeEvaluateClosureInputItem`, :class:`NodeEvaluateClosureInputItems`, :class:`NodeEvaluateClosureOutputItem`, :class:`NodeEvaluateClosureOutputItems`, :class:`NodeFunctionFormatStringItem`, :class:`NodeFunctionFormatStringItems`, :class:`NodeGeometryBakeItem`, :class:`NodeGeometryBakeItems`, :class:`NodeGeometryCaptureAttributeItem`, :class:`NodeGeometryCaptureAttributeItems`, :class:`NodeGeometryForeachGeometryElementGenerationItems`, :class:`NodeGeometryForeachGeometryElementInputItems`, :class:`NodeGeometryForeachGeometryElementMainItems`, :class:`NodeGeometryRepeatOutputItems`, :class:`NodeGeometrySimulationOutputItems`, :class:`NodeGeometryViewerItem`, :class:`NodeGeometryViewerItems`, :class:`NodeIndexSwitchItems`, :class:`NodeInputs`, :class:`NodeInstanceHash`, :class:`NodeInternalSocketTemplate`, :class:`NodeLink`, :class:`NodeLinks`, :class:`NodeMenuSwitchItems`, :class:`NodeOutputs`, :class:`NodeSeparateBundleItem`, :class:`NodeSeparateBundleItems`, :class:`NodeSocket`, :class:`NodeTreeInterface`, :class:`NodeTreeInterfaceItem`, :class:`NodeTreePath`, :class:`Nodes`, :class:`NodesModifierBake`, :class:`NodesModifierBakeDataBlocks`, :class:`NodesModifierBakes`, :class:`NodesModifierDataBlock`, :class:`NodesModifierPanel`, :class:`NodesModifierPanels`, :class:`NodesModifierWarning`, :class:`ObjectBase`, :class:`ObjectConstraints`, :class:`ObjectDisplay`, :class:`ObjectLightLinking`, :class:`ObjectLineArt`, :class:`ObjectModifiers`, :class:`ObjectShaderFx`, :class:`Operator`, :class:`OperatorMacro`, :class:`OperatorOptions`, :class:`OperatorProperties`, :class:`PackedFile`, :class:`Paint`, :class:`PaintModeSettings`, :class:`PaletteColor`, :class:`PaletteColors`, :class:`Panel`, :class:`Particle`, :class:`ParticleBrush`, :class:`ParticleDupliWeight`, :class:`ParticleEdit`, :class:`ParticleHairKey`, :class:`ParticleKey`, :class:`ParticleSettingsTextureSlots`, :class:`ParticleSystem`, :class:`ParticleSystems`, :class:`ParticleTarget`, :class:`PathCompare`, :class:`PathCompareCollection`, :class:`Point`, :class:`PointCache`, :class:`PointCacheItem`, :class:`PointCaches`, :class:`Pose`, :class:`PoseBone`, :class:`PoseBoneConstraints`, :class:`Preferences`, :class:`PreferencesApps`, :class:`PreferencesEdit`, :class:`PreferencesExperimental`, :class:`PreferencesExtensions`, :class:`PreferencesFilePaths`, :class:`PreferencesInput`, :class:`PreferencesKeymap`, :class:`PreferencesSystem`, :class:`PreferencesView`, :class:`PrimitiveBoolean`, :class:`PrimitiveFloat`, :class:`PrimitiveInt`, :class:`PrimitiveString`, :class:`Property`, :class:`PropertyGroup`, :class:`PropertyGroupItem`, :class:`QuaternionAttributeValue`, :class:`RaytraceEEVEE`, :class:`ReadOnlyInteger`, :class:`Region`, :class:`RegionView3D`, :class:`RenderEngine`, :class:`RenderLayer`, :class:`RenderPass`, :class:`RenderPasses`, :class:`RenderResult`, :class:`RenderSettings`, :class:`RenderSlot`, :class:`RenderSlots`, :class:`RenderView`, :class:`RenderViews`, :class:`RepeatItem`, :class:`RetimingKey`, :class:`RetimingKeys`, :class:`RigidBodyConstraint`, :class:`RigidBodyObject`, :class:`RigidBodyWorld`, :class:`SPHFluidSettings`, :class:`SceneDisplay`, :class:`SceneEEVEE`, :class:`SceneGpencil`, :class:`SceneHydra`, :class:`SceneObjects`, :class:`SceneRenderView`, :class:`Scopes`, :class:`ScriptDirectory`, :class:`ScriptDirectoryCollection`, :class:`SequenceEditor`, :class:`SequenceTimelineChannel`, :class:`SequencerCacheOverlay`, :class:`SequencerPreviewOverlay`, :class:`SequencerTimelineOverlay`, :class:`SequencerToolSettings`, :class:`ShaderFx`, :class:`ShapeKey`, :class:`ShapeKeyBezierPoint`, :class:`ShapeKeyCurvePoint`, :class:`ShapeKeyPoint`, :class:`Short2AttributeValue`, :class:`SimulationStateItem`, :class:`SoftBodySettings`, :class:`Space`, :class:`SpaceClipOverlay`, :class:`SpaceDopeSheetOverlay`, :class:`SpaceImageOverlay`, :class:`SpaceNodeEditorPath`, :class:`SpaceNodeOverlay`, :class:`SpaceUVEditor`, :class:`Spline`, :class:`SplineBezierPoints`, :class:`SplinePoint`, :class:`SplinePoints`, :class:`SpreadsheetColumn`, :class:`SpreadsheetColumnID`, :class:`SpreadsheetRowFilter`, :class:`SpreadsheetTable`, :class:`SpreadsheetTableID`, :class:`SpreadsheetTables`, :class:`Stereo3dDisplay`, :class:`Stereo3dFormat`, :class:`StringAttributeValue`, :class:`Strip`, :class:`StripColorBalanceData`, :class:`StripCrop`, :class:`StripElement`, :class:`StripElements`, :class:`StripModifier`, :class:`StripModifiers`, :class:`StripProxy`, :class:`StripTransform`, :class:`StripsMeta`, :class:`StripsTopLevel`, :class:`Struct`, :class:`StudioLight`, :class:`StudioLights`, :class:`TexMapping`, :class:`TexPaintSlot`, :class:`TextBox`, :class:`TextCharacterFormat`, :class:`TextLine`, :class:`TextureSlot`, :class:`Theme`, :class:`ThemeBoneColorSet`, :class:`ThemeClipEditor`, :class:`ThemeCollectionColor`, :class:`ThemeCommon`, :class:`ThemeCommonAnim`, :class:`ThemeCommonCurves`, :class:`ThemeConsole`, :class:`ThemeDopeSheet`, :class:`ThemeFileBrowser`, :class:`ThemeFontStyle`, :class:`ThemeGradientColors`, :class:`ThemeGraphEditor`, :class:`ThemeImageEditor`, :class:`ThemeInfo`, :class:`ThemeNLAEditor`, :class:`ThemeNodeEditor`, :class:`ThemeOutliner`, :class:`ThemePreferences`, :class:`ThemeProperties`, :class:`ThemeRegions`, :class:`ThemeRegionsAssetShelf`, :class:`ThemeRegionsChannels`, :class:`ThemeRegionsScrubbing`, :class:`ThemeRegionsSidebars`, :class:`ThemeSequenceEditor`, :class:`ThemeSpaceGeneric`, :class:`ThemeSpaceGradient`, :class:`ThemeSpreadsheet`, :class:`ThemeStatusBar`, :class:`ThemeStripColor`, :class:`ThemeStyle`, :class:`ThemeTextEditor`, :class:`ThemeTopBar`, :class:`ThemeUserInterface`, :class:`ThemeView3D`, :class:`ThemeWidgetColors`, :class:`ThemeWidgetStateColors`, :class:`TimelineMarker`, :class:`TimelineMarkers`, :class:`Timer`, :class:`ToolSettings`, :class:`TransformOrientation`, :class:`TransformOrientationSlot`, :class:`UDIMTile`, :class:`UDIMTiles`, :class:`UILayout`, :class:`UIList`, :class:`UIPieMenu`, :class:`UIPopover`, :class:`UIPopupMenu`, :class:`UVLoopLayers`, :class:`UVProjector`, :class:`UnifiedPaintSettings`, :class:`UnitSettings`, :class:`UnknownType`, :class:`UserAssetLibrary`, :class:`UserExtensionRepo`, :class:`UserExtensionRepoCollection`, :class:`UserSolidLight`, :class:`UvSculpt`, :class:`VertexGroup`, :class:`VertexGroupElement`, :class:`VertexGroups`, :class:`View2D`, :class:`View3DCursor`, :class:`View3DOverlay`, :class:`View3DShading`, :class:`ViewLayer`, :class:`ViewLayerEEVEE`, :class:`ViewLayers`, :class:`ViewerPath`, :class:`ViewerPathElem`, :class:`VolumeDisplay`, :class:`VolumeGrid`, :class:`VolumeGrids`, :class:`VolumeRender`, :class:`WalkNavigation`, :class:`Window`, :class:`Windows`, :class:`WorkSpaceTool`, :class:`WorldLighting`, :class:`WorldMistSettings`, :class:`XrActionMap`, :class:`XrActionMapBinding`, :class:`XrActionMapBindings`, :class:`XrActionMapItem`, :class:`XrActionMapItems`, :class:`XrActionMaps`, :class:`XrComponentPath`, :class:`XrComponentPaths`, :class:`XrEventData`, :class:`XrNavigation`, :class:`XrSessionSettings`, :class:`XrSessionState`, :class:`XrUserPath`, :class:`XrUserPaths`, :class:`wmOwnerID`, :class:`wmOwnerIDs`, :class:`wmTools`

.. class:: bpy_struct

   built-in base class for all classes in bpy.types.

   .. method:: as_pointer()
   
      Returns the memory address which holds a pointer to Blender's internal data
   
      :return: int (memory address).
      :rtype: int
   
      .. note:: This is intended only for advanced script writers who need to
         pass blender data to their own C/Python modules.


   .. method:: driver_add(path, index=-1, /)
   
      Adds driver(s) to the given property
   
      :param path: path to the property to drive, analogous to the fcurve's data path.
      :type path: str
      :param index: array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array.
      :type index: int
      :return: The driver added or a list of drivers when index is -1.
      :rtype: :class:`bpy.types.FCurve` | list[:class:`bpy.types.FCurve`]


   .. method:: driver_remove(path, index=-1, /)
   
      Remove driver(s) from the given property
   
      :param path: path to the property to drive, analogous to the fcurve's data path.
      :type path: str
      :param index: array index of the property drive. Defaults to -1 for all indices or a single channel if the property is not an array.
      :type index: int
      :return: Success of driver removal.
      :rtype: bool


   .. method:: get(key, default=None, /)
   
      Returns the value of the custom property assigned to key or default
      when not found (matches Python's dictionary function of the same name).
   
      :param key: The key associated with the custom property.
      :type key: str
      :param default: Optional argument for the value to return if
         *key* is not found.
      :type default: Any
      :return: Custom property value or default.
      :rtype: Any
   
      .. note::
   
         Limited to: :ref:`bpy_types-custom_properties`.


   .. method:: id_properties_clear()
   
      Remove the parent group for an RNA struct's custom IDProperties.


   .. method:: id_properties_ensure()
   
      :return: the parent group for an RNA struct's custom IDProperties.
      :rtype: :class:`idprop.types.IDPropertyGroup`


   .. method:: id_properties_ui(key, /)
   
      :param key: String name of the property.
      :type key: str
      :return: An object used to manage an IDProperty's UI data.
      :rtype: :class:`bpy.types.IDPropertyUIManager`


   .. method:: is_property_hidden(property, /)
   
      Check if a property is hidden.
   
      :param property: Property name.
      :type property: str
      :return: True when the property is hidden.
      :rtype: bool


   .. method:: is_property_overridable_library(property, /)
   
      Check if a property is overridable.
   
      :param property: Property name.
      :type property: str
      :return: True when the property is overridable.
      :rtype: bool


   .. method:: is_property_readonly(property, /)
   
      Check if a property is readonly.
   
      :param property: Property name.
      :type property: str
      :return: True when the property is readonly (not writable).
      :rtype: bool


   .. method:: is_property_set(property, /, *, ghost=True)
   
      Check if a property is set, use for testing operator properties.
   
      :param property: Property name.
      :type property: str
      :param ghost: Used for operators that re-run with previous settings.
         In this case the property is not marked as set,
         yet the value from the previous execution is used.
   
         In rare cases you may want to set this option to false.
   
      :type ghost: bool
      :return: True when the property has been set.
      :rtype: bool


      .. note::

         Properties defined at run-time store the values of the properties as custom-properties.

         This method checks if the underlying data exists, causing the property to be considered *set*.

         A common pattern for operators is to calculate a value for the properties
         that have not had their values explicitly set by the caller
         (where the caller could be a key-binding, menu-items or Python script for example).

         In the case of executing operators multiple times, values are re-used from the previous execution.

         For example: subdividing a mesh with a smooth value of 1.0 will keep using
         that value on subsequent calls to subdivision, unless the operator is called with
         that property set to a different value.

         This behavior can be disabled using the ``SKIP_SAVE`` option when the property is declared (see: :mod:`bpy.props`).

         The ``ghost`` argument allows detecting how a value from a previous execution is handled.

         - When true: The property is considered unset even if the value from a previous call is used.
         - When false: The existence of any values causes ``is_property_set`` to return true.

         While this argument should typically be omitted, there are times when
         it's important to know if a value is anything besides the default.

         For example, the previous value may have been scaled by the scene's unit scale.
         In this case scaling the value multiple times would cause problems, so the ``ghost`` argument should be false.


   .. method:: items()
   
      Returns the items of this objects custom properties (matches Python's
      dictionary function of the same name).
   
      :return: custom property key, value pairs.
      :rtype: :class:`idprop.types.IDPropertyGroupViewItems`
   
      .. note::
   
         Limited to: :ref:`bpy_types-custom_properties`.


   .. method:: keyframe_delete(data_path, *, index=-1, frame=bpy.context.scene.frame_current, group="")
   
      Remove a keyframe from this properties fcurve.
   
      :param data_path: path to the property to remove a key, analogous to the fcurve's data path.
      :type data_path: str
      :param index: array index of the property to remove a key. Defaults to -1 removing all indices or a single channel if the property is not an array.
      :type index: int
      :param frame: The frame on which the keyframe is deleted, defaulting to the current frame.
      :type frame: float
      :param group: The name of the group the F-Curve should be added to if it doesn't exist yet.
      :type group: str
      :return: Success of keyframe deletion.
      :rtype: bool


   .. method:: keyframe_insert(data_path, *, index=-1, frame=bpy.context.scene.frame_current, group="", options=set(), keytype='KEYFRAME')
   
      Insert a keyframe on the property given, adding fcurves and animation data when necessary.
   
      :param data_path: path to the property to key, analogous to the fcurve's data path.
      :type data_path: str
      :param index: array index of the property to key.
         Defaults to -1 which will key all indices or a single channel if the property is not an array.
      :type index: int
      :param frame: The frame on which the keyframe is inserted, defaulting to the current frame.
      :type frame: float
      :param group: The name of the group the F-Curve should be added to if it doesn't exist yet.
      :type group: str
      :param options: Optional set of flags:
   
         - ``INSERTKEY_NEEDED`` Only insert keyframes where they're needed in the relevant F-Curves.
         - ``INSERTKEY_VISUAL`` Insert keyframes based on 'visual transforms'.
         - ``INSERTKEY_REPLACE`` Only replace already existing keyframes.
         - ``INSERTKEY_AVAILABLE`` Only insert into already existing F-Curves.
         - ``INSERTKEY_CYCLE_AWARE`` Take cyclic extrapolation into account (Cycle-Aware Keying option).
      :type options: set[Literal['INSERTKEY_NEEDED', 'INSERTKEY_VISUAL', 'INSERTKEY_REPLACE', 'INSERTKEY_AVAILABLE', 'INSERTKEY_CYCLE_AWARE']]
      :param keytype: Type of the key.
      :type keytype: Literal['KEYFRAME', 'BREAKDOWN', 'MOVING_HOLD', 'EXTREME', 'JITTER', 'GENERATED']
      :return: Success of keyframe insertion.
      :rtype: bool


      This is the most simple example of inserting a keyframe from Python.

      .. literalinclude:: ./examples/bpy.types.bpy_struct.keyframe_insert.0.py
         :lines: 5-


      Note that when keying data paths which contain nested properties this must be
      done from the :class:`ID` subclass, in this case the :class:`Armature` rather
      than the bone.

      .. literalinclude:: ./examples/bpy.types.bpy_struct.keyframe_insert.1.py
         :lines: 7-


   .. method:: keys()
   
      Returns the keys of this objects custom properties (matches Python's
      dictionary function of the same name).
   
      :return: custom property keys.
      :rtype: :class:`idprop.types.IDPropertyGroupViewKeys`
   
      .. note::
   
         Limited to: :ref:`bpy_types-custom_properties`.


   .. method:: path_from_id(property="", /)
   
      Returns the data path from the ID to this object (string).
   
      :param property: Optional property name which can be used if the path is
         to a property of this object.
      :type property: str
      :return: The path from :class:`bpy.types.bpy_struct.id_data`
         to this struct and property (when given).
      :rtype: str


   .. method:: path_from_module(property="", index=-1, /)
   
      Returns the full data path to this struct (as a string) from the bpy module.
   
      :param property: Optional property name to get the full path from
      :type property: str
      :param index: Optional index of the property.
         "-1" means that the property has no indices.
      :type index: int
      :return: The full path to the data.
      :rtype: str
   
      :raises ValueError:
         if the input data cannot be converted into a full data path.
   
         .. note:: Even if all input data is correct, this function might
            error out because Blender cannot derive a valid path.
            The incomplete path will be printed in the error message.


   .. method:: path_resolve(path, coerce=True, /)
   
      Returns the property from the path, raise an exception when not found.
   
      :param path: path which this property resolves.
      :type path: str
      :param coerce: optional argument, when True, the property will be converted
         into its Python representation.
      :type coerce: bool
      :return: Property value or property object.
      :rtype: Any | :class:`bpy.types.bpy_prop`


   .. method:: pop(key, default=None, /)
   
      Remove and return the value of the custom property assigned to key or default
      when not found (matches Python's dictionary function of the same name).
   
      :param key: The key associated with the custom property.
      :type key: str
      :param default: Optional argument for the value to return if
         *key* is not found.
      :type default: Any
      :return: Custom property value or default.
      :rtype: Any
   
      .. note::
   
         Limited to: :ref:`bpy_types-custom_properties`.


   .. method:: property_overridable_library_set(property, overridable, /)
   
      Define a property as overridable or not (only for custom properties!).
   
      :param property: Property name.
      :type property: str
      :param overridable: Overridable status to set.
      :type overridable: bool
      :return: True when the overridable status of the property was successfully set.
      :rtype: bool


   .. method:: property_unset(property, /)
   
      Unset a property, will use default value afterward.
   
      :param property: Property name.
      :type property: str


   .. method:: rna_ancestors()
   
      Return the chain of data containing this struct, if known.
      The first item is the root (typically an ID), the last one is the immediate parent.
      May be empty.
   
      :return: a list of this object's ancestors.
      :rtype: list[:class:`bpy.types.bpy_struct`]


   .. method:: type_recast()
   
      Return a new instance, this is needed because types
      such as textures can be changed at runtime.
   
      :return: a new instance of this object with the type initialized again.
      :rtype: :class:`bpy.types.bpy_struct`


   .. method:: values()
   
      Returns the values of this objects custom properties (matches Python's
      dictionary function of the same name).
   
      :return: custom property values.
      :rtype: :class:`idprop.types.IDPropertyGroupViewValues`
   
      .. note::
   
         Limited to: :ref:`bpy_types-custom_properties`.


   .. attribute:: id_data

      The :class:`bpy.types.ID` object this data-block is from or None, (not available for all data types) (readonly)
      
      :type: :class:`bpy.types.ID`


