Application Data (bpy.app)#
This module contains application values that remain unchanged during runtime.
- bpy.app.autoexec_fail#
Undocumented, consider contributing.
- bpy.app.autoexec_fail_message#
Undocumented, consider contributing.
- bpy.app.autoexec_fail_quiet#
Undocumented, consider contributing.
- bpy.app.binary_path#
The location of Blender’s executable, useful for utilities that open new instances. Read-only unless Blender is built as a Python module - in this case the value is an empty string which script authors may point to a Blender binary.
- bpy.app.debug#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_depsgraph#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_depsgraph_build#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_depsgraph_eval#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_depsgraph_pretty#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_depsgraph_tag#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_depsgraph_time#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_events#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_ffmpeg#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_freestyle#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_handlers#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_io#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_python#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_simdata#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.debug_value#
Short, number which can be set to non-zero values for testing purposes
- bpy.app.debug_wm#
Boolean, for debug info (started with
--debug
/--debug-*
matching this attribute name)
- bpy.app.driver_namespace#
Dictionary for drivers namespace, editable in-place, reset on file load (read-only)
- File Loading & Order of Initialization
Since drivers may be evaluated immediately after loading a blend-file it is necessary to ensure the driver name-space is initialized beforehand.
This can be done by registering text data-blocks to execute on startup, which executes the scripts before drivers are evaluated. See Text -> Register from Blender’s text editor.
Hint
You may prefer to use external files instead of Blender’s text-blocks. This can be done using a text-block which executes an external file.
This example runs
driver_namespace.py
located in the same directory as the text-blocks blend-file:import os import bpy blend_dir = os.path.normalize(os.path.join(__file__, "..", "..")) bpy.utils.execfile(os.path.join(blend_dir, "driver_namespace.py"))
Using
__file__
ensures the text resolves to the expected path even when library-linked from another file.Other methods of populating the drivers name-space can be made to work but tend to be error prone:
Using The
--python
command line argument to populate name-space often fails to achieve the desired goal because the initial evaluation will lookup a function that doesn’t exist yet, marking the driver as invalid - preventing further evaluation.Populating the driver name-space before the blend-file loads also doesn’t work since opening a file clears the name-space.
It is possible to run a script via the
--python
command line argument, before the blend file. This can register a load-post handler (bpy.app.handlers.load_post
) that initialized the name-space. While this works for background tasks it has the downside that opening the file from the file selector won’t setup the name-space.
- bpy.app.render_icon_size#
Reference size for icon/preview renders (read-only)
- bpy.app.render_preview_size#
Reference size for icon/preview renders (read-only)
- bpy.app.tempdir#
String, the temp directory used by blender (read-only)
- bpy.app.use_event_simulate#
Boolean, for application behavior (started with
--enable-*
matching this attribute name)
- bpy.app.use_userpref_skip_save_on_exit#
Boolean, for application behavior (started with
--enable-*
matching this attribute name)
- bpy.app.background#
Boolean, True when blender is running without a user interface (started with -b)
- bpy.app.factory_startup#
Boolean, True when blender is running with –factory-startup)
- bpy.app.build_branch#
The branch this blender instance was built from
- bpy.app.build_cflags#
C compiler flags
- bpy.app.build_commit_date#
The date of commit this blender instance was built
- bpy.app.build_commit_time#
The time of commit this blender instance was built
- bpy.app.build_cxxflags#
C++ compiler flags
- bpy.app.build_date#
The date this blender instance was built
- bpy.app.build_hash#
The commit hash this blender instance was built with
- bpy.app.build_linkflags#
Binary linking flags
- bpy.app.build_platform#
The platform this blender instance was built for
- bpy.app.build_system#
Build system used
- bpy.app.build_time#
The time this blender instance was built
- bpy.app.build_type#
The type of build (Release, Debug)
- bpy.app.build_commit_timestamp#
The unix timestamp of commit this blender instance was built
- bpy.app.version_cycle#
The release status of this build alpha/beta/rc/release
- bpy.app.version_string#
The Blender version formatted as a string
- bpy.app.version#
The Blender version as a tuple of 3 numbers. eg. (2, 83, 1)
- bpy.app.version_file#
The Blender version, as a tuple, last used to save a .blend file, compatible with
bpy.data.version
. This value should be used for handling compatibility changes between Blender versions
- bpy.app.alembic#
Constant value bpy.app.alembic(supported=True, version=(1, 8, 3), version_string=’ 1, 8, 3’)
- bpy.app.build_options#
Constant value bpy.app.build_options(bullet=True, codec_avi=True, codec_ffmpeg=True, codec_sndfile=True, compositor_cpu=True, cycles=True, cycles_osl=True, freestyle=True, image_cineon=True, image_dds=True, image_hdr=True, image_openexr=True, image_openjpeg=True, image_tiff=True, input_ndof=True, audaspace=True, international=True, openal=True, opensubdiv=True, sdl=True, sdl_dynload=True, coreaudio=False, jack=True, pulseaudio=True, wasapi=False, libmv=True, mod_oceansim=True, mod_remesh=True, collada=True, io_wavefront_obj=True, io_ply=True, io_stl=True, io_gpencil=True, opencolorio=True, openmp=True, openvdb=True, alembic=True, usd=True, fluid=True, xr_openxr=True, potrace=True, pugixml=True, haru=True)
- bpy.app.ffmpeg#
Constant value bpy.app.ffmpeg(supported=True, avcodec_version=(60, 31, 102), avcodec_version_string=’60, 31, 102’, avdevice_version=(60, 3, 100), avdevice_version_string=’60, 3, 100’, avformat_version=(60, 16, 100), avformat_version_string=’60, 16, 100’, avutil_version=(58, 29, 100), avutil_version_string=’58, 29, 100’, swscale_version=(7, 5, 100), swscale_version_string=’ 7, 5, 100’)
- bpy.app.ocio#
Constant value bpy.app.ocio(supported=True, version=(2, 3, 2), version_string=’ 2, 3, 2’)
- bpy.app.oiio#
Constant value bpy.app.oiio(supported=True, version=(2, 5, 6), version_string=’ 2, 5, 6’)
- bpy.app.opensubdiv#
Constant value bpy.app.opensubdiv(supported=True, version=(3, 6, 0), version_string=’ 3, 6, 0’)
- bpy.app.openvdb#
Constant value bpy.app.openvdb(supported=True, version=(11, 0, 0), version_string=’11, 0, 0’)
- bpy.app.sdl#
Constant value bpy.app.sdl(supported=True, version=(0, 0, 0), version_string=’Unknown’, available=False)
- bpy.app.usd#
Constant value bpy.app.usd(supported=True, version=(0, 23, 11), version_string=’ 0, 23, 11’)
- static bpy.app.help_text(all=False)#
Return the help text as a string.
- Parameters:
all (bool) – Return all arguments, even those which aren’t available for the current platform.
- static bpy.app.is_job_running(job_type)#
Check whether a job of the given type is running.
- Parameters:
job_type (str) – job type in Wm Job Type Items.
- Returns:
Whether a job of the given type is currently running.
- Return type:
bool.