user: Give a detailed overview of Bpy.App.Handlers: syntax, arguments, return values, common patterns.

assistant: Node) TextureNodeChecker(TextureNode) TextureNodeCombineColor(TextureNode) TextureNodeCompose(TextureNode) TextureNodeCoordinates(TextureNode) TextureNodeCurveRGB(TextureNode) TextureNodeCurveTime(TextureNode) TextureNodeDecompose(TextureNode) TextureNodeDistance(TextureNode) TextureNodeGroup(TextureNode) TextureNodeHueSaturation(TextureNode) TextureNodeImage(TextureNode) TextureNodeInvert(TextureNode) TextureNodeMath(TextureNode) TextureNodeMixRGB(TextureNode) TextureNodeOutput(TextureNode) TextureNodeRGBToBW(TextureNode) TextureNodeRotate(TextureNode) TextureNodeScale(TextureNode) TextureNodeSeparateColor(TextureNode) TextureNodeTexBlend(TextureNode) TextureNodeTexClouds(TextureNode) TextureNodeTexDistNoise(TextureNode) TextureNodeTexMagic(TextureNode) TextureNodeTexMarble(TextureNode) TextureNodeTexMusgrave(TextureNode) TextureNodeTexNoise(TextureNode) TextureNodeTexStucci(TextureNode) TextureNodeTexVoronoi(TextureNode) TextureNodeTexWood(TextureNode) TextureNodeTexture(TextureNode) TextureNodeTranslate(TextureNode) TextureNodeTree(NodeTree) TextureNodeValToNor(TextureNode) TextureNodeValToRGB(TextureNode) TextureNodeViewer(TextureNode) TextureSlot(bpy_struct) Theme(bpy_struct) ThemeBoneColorSet(bpy_struct) ThemeClipEditor(bpy_struct) ThemeCollectionColor(bpy_struct) ThemeCommon(bpy_struct) ThemeCommonAnim(bpy_struct) ThemeCommonCurves(bpy_struct) ThemeConsole(bpy_struct) ThemeDopeSheet(bpy_struct) ThemeFileBrowser(bpy_struct) ThemeFontStyle(bpy_struct) ThemeGradientColors(bpy_struct) ThemeGraphEditor(bpy_struct) ThemeImageEditor(bpy_struct) ThemeInfo(bpy_struct) ThemeNLAEditor(bpy_struct) ThemeNodeEditor(bpy_struct) ThemeOutliner(bpy_struct) ThemePreferences(bpy_struct) ThemeProperties(bpy_struct) ThemeRegions(bpy_struct) ThemeRegionsAssetShelf(bpy_struct) ThemeRegionsChannels(bpy_struct) ThemeRegionsScrubbing(bpy_struct) ThemeRegionsSidebars(bpy_struct) ThemeSequenceEditor(bpy_struct) ThemeSpaceGeneric(bpy_struct) ThemeSpaceGradient(bpy_struct) ThemeSpreadsheet(bpy_struct) ThemeStatusBar(bpy_struct) ThemeStripColor(bpy_struct) ThemeStyle(bpy_struct) ThemeTextEditor(bpy_struct) ThemeTopBar(bpy_struct) ThemeUserInterface(bpy_struct) ThemeView3D(bpy_struct) ThemeWidgetColors(bpy_struct) ThemeWidgetStateColors(bpy_struct) TimelineMarker(bpy_struct) TimelineMarkers(bpy_struct) Timer(bpy_struct) ToolSettings(bpy_struct) TrackToConstraint(Constraint) TransformCacheConstraint(Constraint) TransformConstraint(Constraint) TransformOrientation(bpy_struct) TransformOrientationSlot(bpy_struct) TriangulateModifier(Modifier) UDIMTile(bpy_struct) UDIMTiles(bpy_struct) UILayout(bpy_struct) UIList(bpy_struct) UIPieMenu(bpy_struct) UIPopover(bpy_struct) UIPopupMenu(bpy_struct) UI_UL_list(UIList) USDHook(bpy_struct) USERPREF_UL_asset_libraries(UIList) USERPREF_UL_extension_repos(UIList) UVLoopLayers(bpy_struct) UVProjectModifier(Modifier) UVProjector(bpy_struct) UVWarpModifier(Modifier) UnifiedPaintSettings(bpy_struct) UnitSettings(bpy_struct) UnknownType(bpy_struct) UserAssetLibrary(bpy_struct) UserExtensionRepo(bpy_struct) UserExtensionRepoCollection(bpy_struct) UserSolidLight(bpy_struct) UvSculpt(bpy_struct) VIEW3D_AST_brush_gpencil_paint(AssetShelf) VIEW3D_AST_brush_gpencil_sculpt(AssetShelf) VIEW3D_AST_brush_gpencil_vertex(AssetShelf) VIEW3D_AST_brush_gpencil_weight(AssetShelf) VIEW3D_AST_brush_sculpt(AssetShelf) VIEW3D_AST_brush_sculpt_curves(AssetShelf) VIEW3D_AST_brush_texture_paint(AssetShelf) VIEW3D_AST_brush_vertex_paint(AssetShelf) VIEW3D_AST_brush_weight_paint(AssetShelf) VIEW3D_AST_pose_library(AssetShelf) VIEW3D_FH_camera_background_image(FileHandler) VIEW3D_FH_empty_image(FileHandler) VIEW3D_FH_vdb_volume(FileHandler) VIEWLAYER_UL_aov(UIList) VIEWLAYER_UL_linesets(UIList) VOLUME_UL_grids(UIList) VectorFont(ID) VertexGroup(bpy_struct) VertexGroupElement(bpy_struct) VertexGroups(bpy_struct) VertexPaint(Paint) VertexWeightEditModifier(Modifier) VertexWeightMixModifier(Modifier) VertexWeightProximityModifier(Modifier) View2D(bpy_struct) View3DCursor(bpy_struct) View3DOverlay(bpy_struct) View3DShading(bpy_struct) ViewLayer(bpy_struct) ViewLayerEEVEE(bpy_struct) ViewLayers(bpy_struct) ViewerNodeViewerPathElem(ViewerPathElem) ViewerPath(bpy_struct) ViewerPathElem(bpy_struct) Volume(ID) VolumeDisplaceModifier(Modifier) VolumeDisplay(bpy_struct) VolumeGrid(bpy_struct) VolumeGrids(bpy_struct) VolumeRender(bpy_struct) VolumeToMeshModifier(Modifier) VoronoiTexture(Texture) WORKSPACE_UL_addons_items(UIList) WalkNavigation(bpy_struct) WarpModifier(Modifier) WaveModifier(Modifier) WeightedNormalModifier(Modifier) WeldModifier(Modifier) WhiteBalanceModifier(StripModifier) Window(bpy_struct) WindowManager(ID) WipeStrip(EffectStrip) WireframeModifier(Modifier) WoodTexture(Texture) WorkSpace(ID) WorkSpaceTool(bpy_struct) World(ID) WorldLighting(bpy_struct) WorldMistSettings(bpy_struct) XrActionMap(bpy_struct) XrActionMapBinding(bpy_struct) XrActionMapBindings(bpy_struct) XrActionMapItem(bpy_struct) XrActionMapItems(bpy_struct) XrActionMaps(bpy_struct) XrComponentPath(bpy_struct) XrComponentPaths(bpy_struct) XrEventData(bpy_struct) XrNavigation(bpy_struct) XrSessionSettings(bpy_struct) XrSessionState(bpy_struct) XrUserPath(bpy_struct) XrUserPaths(bpy_struct) bpy_prop_collection bpy_prop_collection_idprop bpy_struct wmOwnerID(bpy_struct) wmOwnerIDs(bpy_struct) wmTools(bpy_struct) Shared Enum Types Toggle navigation of Shared Enum Types Id Type Items Object Mode Items Workspace Object Mode Items Object Empty Drawtype Items Object Gpencil Type Items Metaelem Type Items Color Space Convert Default Items Proportional Falloff Items Proportional Falloff Curve Only Items Snap Source Items Snap Element Items Snap Animation Element Items Curve Fit Method Items Mesh Select Mode Items Mesh Select Mode Uv Items Mesh Delimit Mode Items Space Graph Mode Items Space File Browse Mode Items Space Sequencer View Type Items Space Type Items Space Image Mode Items Space Image Mode All Items Space Action Mode Items Fileselect Params Sort Items Region Type Items Object Modifier Type Items Constraint Type Items Boidrule Type Items Strip Modifier Type Items Strip Video Modifier Type Items Strip Sound Modifier Type Items Strip Scale Method Items Object Shaderfx Type Items Modifier Triangulate Quad Method Items Modifier Triangulate Ngon Method Items Modifier Shrinkwrap Mode Items Shrinkwrap Type Items Shrinkwrap Face Cull Items Node Warning Type Items Image Type All Items Image Color Mode Items Image Color Depth Items Image Generated Type Items Normal Space Items Normal Swizzle Items Bake Save Mode Items Bake Margin Type Items Bake Target Items Views Format Items Views Format Multilayer Items Views Format Multiview Items Stereo3D Display Items Stereo3D Anaglyph Type Items Stereo3D Interlace Type Items Exr Codec Items Color Sets Items Beztriple Keyframe Type Items Beztriple Interpolation Mode Items Beztriple Interpolation Easing Items Fcurve Auto Smoothing Items Keyframe Handle Type Items Driver Target Rotation Mode Items Keyingset Path Grouping Items Keying Flag Items Keying Flag Api Items Fmodifier Type Items Motionpath Bake Location Items Motionpath Display Type Items Motionpath Range Items Event Value Items Event Direction Items Event Type Items Event Type Mask Items Operator Type Flag Items Operator Return Items Operator Property Tag Items Brush Automasking Flag Items Brush Sculpt Brush Type Items Brush Vertex Brush Type Items Brush Weight Brush Type Items Brush Gpencil Types Items Brush Gpencil Vertex Types Items Brush Gpencil Sculpt Types Items Brush Gpencil Weight Types Items Brush Curves Sculpt Brush Type Items Brush Image Brush Type Items Brush Curve Preset Items Grease Pencil Selectmode Items Stroke Depth Order Items Axis Xy Items Axis Xyz Items Axis Flag Xyz Items Symmetrize Direction Items Texture Type Items Light Type Items Lightprobes Type Items Unpack Method Items Object Type Items Object Rotation Mode Items Object Type Curve Items Rigidbody Object Type Items Rigidbody Object Shape Items Rigidbody Constraint Type Items Object Axis Items Bake Pass Type Items Bake Pass Filter Type Items Keymap Propvalue Items Operator Context Items Wm Report Items Wm Job Type Items Property Type Items Property Subtype Items Property Subtype String Items Property Subtype Number Items Property Subtype Number Array Items Property Unit Items Property Flag Items Property Flag Enum Items Property Override Flag Items Property Override Flag Collection Items Property String Search Flag Items Shading Type Items Navigation Mode Items Node Socket In Out Items Node Socket Type Items Node Tree Interface Item Type Items Node Socket Structure Type Items Node Math Items Mapping Type Items Node Vec Math Items Node Boolean Math Items Node Compare Operation Items Node Integer Math Items Node Float To Int Items Node Map Range Items Node Clamp Items Node Compositor Extension Items Node Compositor Interpolation Items Ramp Blend Items Prop Dynamicpaint Type Items Clip Editor Mode Items Icon Items Uilist Layout Type Items Linestyle Color Modifier Type Items Linestyle Alpha Modifier Type Items Linestyle Thickness Modifier Type Items Linestyle Geometry Modifier Type Items Window Cursor Items Dt Method Vertex Items Dt Method Edge Items Dt Method Loop Items Dt Method Poly Items Dt Mix Mode Items Dt Layers Select Src Items Dt Layers Select Dst Items Context Mode Items Preference Section Items Attribute Type Items Color Attribute Type Items Attribute Type With Auto Items Attribute Domain Items Attribute Domain Edge Face Items Attribute Domain Only Mesh Items Attribute Domain Only Mesh No Edge Items Attribute Domain Only Mesh No Corner Items Attribute Domain Point Face Curve Items Attribute Domain Point Edge Face Curve Items Attribute Curves Domain Items Color Attribute Domain Items Attribute Domain Without Corner Items Attribute Domain With Auto Items Geometry Component Type Items Node Combsep Color Items Node Socket Data Type Items Node Geometry Curve Handle Side Items Node Geometry Mesh Circle Fill Type Items Volume Grid Data Type Items Collection Color Items Strip Color Items Subdivision Uv Smooth Items Subdivision Boundary Smooth Items Transform Orientation Items Velocity Unit Items Curves Type Items Curves Handle Type Items Curve Normal Mode Items Geometry Nodes Gizmo Color Items Geometry Nodes Linear Gizmo Draw Style Items Particle Edit Hair Brush Items Particle Edit Disconnected Hair Brush Items Keyframe Paste Offset Items Keyframe Paste Offset Value Items Keyframe Paste Merge Items Transform Pivot Full Items Transform Mode Type Items Nla Mode Extend Items Nla Mode Blend Items Keyblock Type Items Asset Library Type Items File Path Foreach Flag Items Types with Custom Property Support Utilities (bpy.utils) Toggle navigation of Utilities (bpy.utils) bpy.utils submodule (bpy.utils.previews) bpy.utils submodule (bpy.utils.units) Path Utilities (bpy.path) Application Data (bpy.app) Toggle navigation of Application Data (bpy.app) Application Handlers (bpy.app.handlers) Application Translations (bpy.app.translations) Application Icons (bpy.app.icons) Application Timers (bpy.app.timers) Property Definitions (bpy.props) Standalone Modules Audio System (aud) Additional Math Functions (bl_math) Font Drawing (blf) BMesh Module (bmesh) Toggle navigation of BMesh Module (bmesh) BMesh Operators (bmesh.ops) BMesh Types (bmesh.types) BMesh Utilities (bmesh.utils) BMesh Geometry Utilities (bmesh.geometry) Extra Utilities (bpy_extras) Toggle navigation of Extra Utilities (bpy_extras) bpy_extras submodule (bpy_extras.anim_utils) bpy_extras submodule (bpy_extras.asset_utils) bpy_extras submodule (bpy_extras.object_utils) bpy_extras submodule (bpy_extras.io_utils) bpy_extras submodule (bpy_extras.image_utils) bpy_extras submodule (bpy_extras.keyconfig_utils) bpy_extras submodule (bpy_extras.mesh_utils) bpy_extras submodule (bpy_extras.node_utils) bpy_extras submodule (bpy_extras.view3d_utils) bpy_extras submodule (bpy_extras.id_map_utils) Freestyle Module (freestyle) Toggle navigation of Freestyle Module (freestyle) Freestyle Types (freestyle.types) Freestyle Predicates (freestyle.predicates) Freestyle Functions (freestyle.functions) Freestyle Chaining Iterators (freestyle.chainingiterators) Freestyle Shaders (freestyle.shaders) Freestyle Utilities (freestyle.utils) Toggle navigation of Freestyle Utilities (freestyle.utils) freestyle.utils submodule (freestyle.utils.ContextFunctions) GPU Module (gpu) Toggle navigation of GPU Module (gpu) GPU Types (gpu.types) GPU Matrix Utilities (gpu.matrix) GPU Select Utilities (gpu.select) GPU Shader Utilities (gpu.shader) GPU State Utilities (gpu.state) GPU Texture Utilities (gpu.texture) GPU Platform Utilities (gpu.platform) GPU Capabilities Utilities (gpu.capabilities) GPU Utilities (gpu_extras) Toggle navigation of GPU Utilities (gpu_extras) gpu_extras submodule (gpu_extras.batch) gpu_extras submodule (gpu_extras.presets) ID Property Access (idprop.types) Image Buffer (imbuf) Toggle navigation of Image Buffer (imbuf) Image Buffer Types (imbuf.types) Math Types & Utilities (mathutils) Toggle navigation of Math Types & Utilities (mathutils) Geometry Utilities (mathutils.geometry) BVHTree Utilities (mathutils.bvhtree) KDTree Utilities (mathutils.kdtree) Interpolation Utilities (mathutils.interpolate) Noise Utilities (mathutils.noise) 5.0 Versions Loading... Note You are not using the most up to date version of the documentation. is the newest version. Back to top Toggle Light / Dark / Auto color theme Toggle table of contents sidebar Application Handlers (bpy.app.handlers) ¶ This module contains callback lists Basic Handler Example ¶ This script shows the most simple example of adding a handler. import bpy def my_handler ( scene ): print ( "Frame Change" , scene . frame_current ) bpy . app . handlers . frame_change_pre . append ( my_handler ) Persistent Handler Example ¶ By default handlers are freed when loading new files, in some cases you may want the handler stay running across multiple files (when the handler is part of an add-on for example). For this the bpy.app.handlers.persistent decorator needs to be used. import bpy from bpy.app.handlers import persistent @persistent def load_handler ( dummy ): print ( "Load Handler:" , bpy . data . filepath ) bpy . app . handlers . load_post . append ( load_handler ) Note on Altering Data ¶ Altering data from handlers should be done carefully. While rendering the frame_change_pre and frame_change_post handlers are called from one thread and the viewport updates from a different thread. If the handler changes data that is accessed by the viewport, this can cause a crash of Blender. In such cases, lock the interface (Render → Lock Interface or bpy.types.RenderSettings.use_lock_interface ) before starting a render. Below is an example of a mesh that is altered from a handler: def frame_change_pre ( scene ): # A triangle that shifts in the z direction. zshift = scene . frame_current * 0.1 vertices = [( - 1 , - 1 , zshift ), ( 1 , - 1 , zshift ), ( 0 , 1 , zshift )] triangles = [( 0 , 1 , 2 )] object = bpy . data . objects [ "The Object" ] object . data . clear_geometry () object . data . from_pydata ( vertices , [], triangles ) bpy.app.handlers. animation_playback_post ¶ on ending animation playback. Accepts two arguments: The scene data-block and the dependency graph being updated bpy.app.handlers. animation_playback_pre ¶ on starting animation playback. Accepts two arguments: The scene data-block and the dependency graph being updated bpy.app.handlers. annotation_post ¶ on drawing an annotation (after). Accepts two arguments: the annotation data-block and dependency graph bpy.app.handlers. annotation_pre ¶ on drawing an annotation (before). Accepts two arguments: the annotation data-block and dependency graph bpy.app.handlers. blend_import_post ¶ on linking or appending data (after). Accepts one argument: a BlendImportContext bpy.app.handlers. blend_import_pre ¶ on linking or appending data (before). Accepts one argument: a BlendImportContext bpy.app.handlers. composite_cancel ¶ on a compositing background job (cancel). Accepts one argument: the scene data-block bpy.app.handlers. composite_post ¶ on a compositing background job (after). Accepts one argument: the scene data-block bpy.app.handlers. composite_pre ¶ on a compositing background job (before). Accepts one argument: the scene data-block bpy.app.handlers. depsgraph_update_post ¶ on depsgraph update (post). Accepts two arguments: The scene data-block and the dependency graph being updated bpy.app.handlers. depsgraph_update_pre ¶ on depsgraph update (pre). Accepts two arguments: The scene data-block and the dependency graph being updated bpy.app.handlers. frame_change_post ¶ Called after frame change for playback and rendering, after the data has been evaluated for the new frame. Accepts two arguments: The scene data-block and the dependency graph being updated bpy.app.handlers. frame_change_pre ¶ Called after frame change for playback and rendering, before any data is evaluated for the new frame. This makes it possible to change data and relations (for example swap an object to another mesh) for the new frame. Note that this handler is not to be used as ‘before the frame changes’ event. The dependency graph is not available in this handler, as data and relations may have been altered and the dependency graph has not yet been updated for that. Accepts two arguments: The scene data-block and the dependency graph being updated bpy.app.handlers. load_factory_preferences_post ¶ on loading factory preferences (after) bpy.app.handlers. load_factory_startup_post ¶ on loading factory startup (after) bpy.app.handlers. load_post ¶ on loading a new blend file (after). Accepts one argument: the file being loaded, an empty string for the startup-file. bpy.app.handlers. load_post_fail ¶ on failure to load a new blend file (after). Accepts one argument: the file being loaded, an empty string for the startup-file. bpy.app.hand