fake-bpy-module 20250828__py3-none-any.whl → 20260119__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -5
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -11
- {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -10
- {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +1 -0
- {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +2 -0
- _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
- {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
- _bpy_internal/__init__.pyi +3 -1
- _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
- _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
- _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
- _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
- _bpy_internal/filesystem/__init__.pyi +5 -0
- _bpy_internal/filesystem/locking/__init__.pyi +28 -0
- _bpy_internal/platform/__init__.pyi +5 -0
- _bpy_types/__init__.pyi +115 -117
- {rna_info → _rna_info}/__init__.pyi +0 -1
- addon_utils/__init__.pyi +0 -13
- aud/__init__.pyi +66 -142
- bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
- bl_app_templates_system/__init__.pyi +5 -0
- bl_app_templates_system/py.typed +0 -0
- bl_math/__init__.pyi +2 -12
- bl_operators/__init__.pyi +1 -0
- bl_operators/add_mesh_torus/__init__.pyi +0 -2
- bl_operators/anim/__init__.pyi +47 -24
- bl_operators/assets/__init__.pyi +0 -6
- bl_operators/bone_selection_sets/__init__.pyi +0 -28
- bl_operators/clip/__init__.pyi +0 -20
- bl_operators/connect_to_output/__init__.pyi +0 -2
- bl_operators/console/__init__.pyi +0 -10
- bl_operators/constraint/__init__.pyi +0 -8
- bl_operators/copy_global_transform/__init__.pyi +261 -0
- bl_operators/file/__init__.pyi +0 -6
- bl_operators/freestyle/__init__.pyi +0 -8
- bl_operators/geometry_nodes/__init__.pyi +0 -8
- bl_operators/grease_pencil/__init__.pyi +0 -2
- bl_operators/image/__init__.pyi +0 -10
- bl_operators/image_as_planes/__init__.pyi +0 -4
- bl_operators/mesh/__init__.pyi +0 -47
- bl_operators/node/__init__.pyi +277 -57
- bl_operators/object/__init__.pyi +0 -37
- bl_operators/object_align/__init__.pyi +0 -2
- bl_operators/object_quick_effects/__init__.pyi +0 -8
- bl_operators/object_randomize_transform/__init__.pyi +0 -2
- bl_operators/presets/__init__.pyi +1 -51
- bl_operators/rigidbody/__init__.pyi +0 -6
- bl_operators/screen_play_rendered_anim/__init__.pyi +0 -2
- bl_operators/sequencer/__init__.pyi +0 -16
- bl_operators/spreadsheet/__init__.pyi +0 -2
- bl_operators/userpref/__init__.pyi +0 -50
- bl_operators/uvcalc_follow_active/__init__.pyi +1 -3
- bl_operators/uvcalc_lightmap/__init__.pyi +0 -2
- bl_operators/uvcalc_transform/__init__.pyi +21 -12
- bl_operators/vertexpaint_dirt/__init__.pyi +0 -2
- bl_operators/view3d/__init__.pyi +0 -16
- bl_operators/wm/__init__.pyi +0 -92
- bl_operators/world/__init__.pyi +0 -2
- bl_ui/__init__.pyi +3 -4
- bl_ui/anim/__init__.pyi +0 -2
- bl_ui/asset_shelf/__init__.pyi +0 -2
- bl_ui/generic_ui_list/__init__.pyi +1 -17
- bl_ui/node_add_menu/__init__.pyi +261 -6
- bl_ui/node_add_menu_compositor/__init__.pyi +96 -80
- bl_ui/node_add_menu_geometry/__init__.pyi +266 -306
- bl_ui/node_add_menu_shader/__init__.pyi +49 -50
- bl_ui/node_add_menu_texture/__init__.pyi +16 -62
- bl_ui/properties_collection/__init__.pyi +0 -14
- bl_ui/properties_constraint/__init__.pyi +55 -209
- bl_ui/properties_data_armature/__init__.pyi +0 -36
- bl_ui/properties_data_bone/__init__.pyi +0 -20
- bl_ui/properties_data_camera/__init__.pyi +0 -30
- bl_ui/properties_data_curve/__init__.pyi +0 -30
- bl_ui/properties_data_curves/__init__.pyi +0 -16
- bl_ui/properties_data_empty/__init__.pyi +0 -4
- bl_ui/properties_data_grease_pencil/__init__.pyi +0 -40
- bl_ui/properties_data_lattice/__init__.pyi +0 -8
- bl_ui/properties_data_light/__init__.pyi +0 -20
- bl_ui/properties_data_lightprobe/__init__.pyi +0 -28
- bl_ui/properties_data_mesh/__init__.pyi +1 -42
- bl_ui/properties_data_metaball/__init__.pyi +0 -12
- bl_ui/properties_data_modifier/__init__.pyi +12 -19
- bl_ui/properties_data_pointcloud/__init__.pyi +0 -12
- bl_ui/properties_data_shaderfx/__init__.pyi +0 -2
- bl_ui/properties_data_speaker/__init__.pyi +0 -12
- bl_ui/properties_data_volume/__init__.pyi +0 -18
- bl_ui/properties_freestyle/__init__.pyi +0 -50
- bl_ui/properties_grease_pencil_common/__init__.pyi +0 -159
- bl_ui/properties_mask_common/__init__.pyi +0 -14
- bl_ui/properties_material/__init__.pyi +0 -32
- bl_ui/properties_material_gpencil/__init__.pyi +23 -45
- bl_ui/properties_object/__init__.pyi +35 -42
- bl_ui/properties_output/__init__.pyi +0 -40
- bl_ui/properties_paint_common/__init__.pyi +23 -19
- bl_ui/properties_particle/__init__.pyi +0 -106
- bl_ui/properties_physics_cloth/__init__.pyi +0 -28
- bl_ui/properties_physics_common/__init__.pyi +0 -2
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +0 -44
- bl_ui/properties_physics_field/__init__.pyi +0 -20
- bl_ui/properties_physics_fluid/__init__.pyi +0 -56
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +0 -2
- bl_ui/properties_physics_rigidbody/__init__.pyi +0 -16
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +0 -26
- bl_ui/properties_physics_softbody/__init__.pyi +0 -30
- bl_ui/properties_render/__init__.pyi +58 -86
- bl_ui/properties_scene/__init__.pyi +0 -34
- bl_ui/properties_strip/__init__.pyi +744 -0
- bl_ui/properties_strip_modifier/__init__.pyi +45 -0
- bl_ui/properties_texture/__init__.pyi +0 -54
- bl_ui/properties_view_layer/__init__.pyi +7 -28
- bl_ui/properties_workspace/__init__.pyi +0 -8
- bl_ui/properties_world/__init__.pyi +0 -22
- bl_ui/space_clip/__init__.pyi +82 -166
- bl_ui/space_console/__init__.pyi +0 -12
- bl_ui/space_dopesheet/__init__.pyi +67 -76
- bl_ui/space_filebrowser/__init__.pyi +0 -60
- bl_ui/space_graph/__init__.pyi +0 -66
- bl_ui/space_image/__init__.pyi +28 -162
- bl_ui/space_info/__init__.pyi +0 -12
- bl_ui/space_nla/__init__.pyi +0 -58
- bl_ui/space_node/__init__.pyi +99 -132
- bl_ui/space_outliner/__init__.pyi +0 -30
- bl_ui/space_properties/__init__.pyi +29 -6
- bl_ui/space_sequencer/__init__.pyi +159 -987
- bl_ui/space_spreadsheet/__init__.pyi +0 -6
- bl_ui/space_statusbar/__init__.pyi +0 -2
- bl_ui/space_text/__init__.pyi +0 -32
- bl_ui/space_time/__init__.pyi +29 -22
- bl_ui/space_toolsystem_toolbar/__init__.pyi +7 -2
- bl_ui/space_topbar/__init__.pyi +7 -52
- bl_ui/space_userpref/__init__.pyi +77 -225
- bl_ui/space_view3d/__init__.pyi +69 -551
- bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +22 -799
- bl_ui/utils/__init__.pyi +0 -17
- blf/__init__.pyi +6 -50
- bmesh/__init__.pyi +0 -7
- bmesh/geometry/__init__.pyi +0 -3
- bmesh/ops/__init__.pyi +5 -450
- bmesh/types/__init__.pyi +298 -639
- bmesh/utils/__init__.pyi +16 -43
- bpy/app/__init__.pyi +66 -58
- bpy/app/icons/__init__.pyi +0 -6
- bpy/app/timers/__init__.pyi +0 -6
- bpy/app/translations/__init__.pyi +1 -16
- bpy/msgbus/__init__.pyi +1 -4
- bpy/ops/action/__init__.pyi +17 -186
- bpy/ops/anim/__init__.pyi +38 -279
- bpy/ops/armature/__init__.pyi +20 -191
- bpy/ops/asset/__init__.pyi +11 -97
- bpy/ops/boid/__init__.pyi +7 -38
- bpy/ops/brush/__init__.pyi +3 -104
- bpy/ops/buttons/__init__.pyi +4 -71
- bpy/ops/cachefile/__init__.pyi +2 -63
- bpy/ops/camera/__init__.pyi +0 -11
- bpy/ops/clip/__init__.pyi +43 -427
- bpy/ops/cloth/__init__.pyi +0 -5
- bpy/ops/collection/__init__.pyi +3 -35
- bpy/ops/console/__init__.pyi +10 -88
- bpy/ops/constraint/__init__.pyi +3 -80
- bpy/ops/curve/__init__.pyi +23 -254
- bpy/ops/curves/__init__.pyi +54 -149
- bpy/ops/cycles/__init__.pyi +1 -14
- bpy/ops/dpaint/__init__.pyi +3 -21
- bpy/ops/ed/__init__.pyi +10 -82
- bpy/ops/export_anim/__init__.pyi +2 -10
- bpy/ops/export_scene/__init__.pyi +1 -155
- bpy/ops/extensions/__init__.pyi +15 -150
- bpy/ops/file/__init__.pyi +29 -216
- bpy/ops/fluid/__init__.pyi +13 -70
- bpy/ops/font/__init__.pyi +10 -134
- bpy/ops/geometry/__init__.pyi +3 -124
- bpy/ops/gizmogroup/__init__.pyi +1 -12
- bpy/ops/gpencil/__init__.pyi +5 -49
- bpy/ops/graph/__init__.pyi +20 -315
- bpy/ops/grease_pencil/__init__.pyi +62 -523
- bpy/ops/image/__init__.pyi +19 -379
- bpy/ops/import_anim/__init__.pyi +2 -16
- bpy/ops/import_curve/__init__.pyi +0 -6
- bpy/ops/import_scene/__init__.pyi +0 -50
- bpy/ops/info/__init__.pyi +4 -35
- bpy/ops/lattice/__init__.pyi +3 -33
- bpy/ops/marker/__init__.pyi +4 -49
- bpy/ops/mask/__init__.pyi +17 -176
- bpy/ops/material/__init__.pyi +3 -15
- bpy/ops/mball/__init__.pyi +1 -30
- bpy/ops/mesh/__init__.pyi +34 -932
- bpy/ops/nla/__init__.pyi +22 -183
- bpy/ops/node/__init__.pyi +420 -625
- bpy/ops/object/__init__.pyi +197 -1239
- bpy/ops/outliner/__init__.pyi +47 -327
- bpy/ops/paint/__init__.pyi +29 -282
- bpy/ops/paintcurve/__init__.pyi +4 -36
- bpy/ops/palette/__init__.pyi +3 -27
- bpy/ops/particle/__init__.pyi +20 -160
- bpy/ops/pointcloud/__init__.pyi +3 -35
- bpy/ops/pose/__init__.pyi +29 -234
- bpy/ops/poselib/__init__.pyi +19 -66
- bpy/ops/preferences/__init__.pyi +9 -177
- bpy/ops/ptcache/__init__.pyi +5 -31
- bpy/ops/render/__init__.pyi +10 -68
- bpy/ops/rigidbody/__init__.pyi +6 -56
- bpy/ops/scene/__init__.pyi +23 -168
- bpy/ops/screen/__init__.pyi +36 -202
- bpy/ops/script/__init__.pyi +1 -12
- bpy/ops/sculpt/__init__.pyi +42 -313
- bpy/ops/sculpt_curves/__init__.pyi +6 -21
- bpy/ops/sequencer/__init__.pyi +187 -644
- bpy/ops/sound/__init__.pyi +3 -109
- bpy/ops/spreadsheet/__init__.pyi +5 -32
- bpy/ops/surface/__init__.pyi +0 -48
- bpy/ops/text/__init__.pyi +27 -225
- bpy/ops/text_editor/__init__.pyi +0 -5
- bpy/ops/texture/__init__.pyi +3 -18
- bpy/ops/transform/__init__.pyi +10 -382
- bpy/ops/ui/__init__.pyi +29 -154
- bpy/ops/uilist/__init__.pyi +0 -13
- bpy/ops/uv/__init__.pyi +195 -288
- bpy/ops/view2d/__init__.pyi +3 -73
- bpy/ops/view3d/__init__.pyi +37 -339
- bpy/ops/wm/__init__.pyi +129 -1317
- bpy/ops/workspace/__init__.pyi +7 -39
- bpy/ops/world/__init__.pyi +2 -10
- bpy/path/__init__.pyi +0 -34
- bpy/props/__init__.pyi +332 -203
- bpy/stub_internal/rna_enums/__init__.pyi +102 -82
- bpy/types/__init__.pyi +51712 -89245
- bpy/utils/__init__.pyi +4 -75
- bpy/utils/previews/__init__.pyi +1 -10
- bpy/utils/units/__init__.pyi +0 -12
- bpy_extras/anim_utils/__init__.pyi +24 -16
- bpy_extras/bmesh_utils/__init__.pyi +0 -1
- bpy_extras/id_map_utils/__init__.pyi +14 -6
- bpy_extras/image_utils/__init__.pyi +0 -9
- bpy_extras/io_utils/__init__.pyi +4 -23
- bpy_extras/keyconfig_utils/__init__.pyi +1 -1
- bpy_extras/mesh_utils/__init__.pyi +0 -12
- bpy_extras/node_shader_utils/__init__.pyi +0 -8
- bpy_extras/object_utils/__init__.pyi +0 -14
- bpy_extras/view3d_utils/__init__.pyi +0 -18
- {fake_bpy_module-20250828.dist-info → fake_bpy_module-20260119.dist-info}/METADATA +4 -1
- fake_bpy_module-20260119.dist-info/RECORD +385 -0
- {fake_bpy_module-20250828.dist-info → fake_bpy_module-20260119.dist-info}/top_level.txt +15 -14
- freestyle/chainingiterators/__init__.pyi +0 -22
- freestyle/functions/__init__.pyi +0 -139
- freestyle/predicates/__init__.pyi +0 -51
- freestyle/shaders/__init__.pyi +0 -65
- freestyle/types/__init__.pyi +139 -777
- freestyle/utils/ContextFunctions/__init__.pyi +0 -23
- freestyle/utils/__init__.pyi +0 -6
- gpu/capabilities/__init__.pyi +0 -21
- gpu/matrix/__init__.pyi +1 -10
- gpu/platform/__init__.pyi +0 -5
- gpu/shader/__init__.pyi +22 -6
- gpu/state/__init__.pyi +59 -38
- gpu/texture/__init__.pyi +0 -2
- gpu/types/__init__.pyi +84 -152
- gpu_extras/batch/__init__.pyi +0 -4
- gpu_extras/presets/__init__.pyi +6 -8
- idprop/types/__init__.pyi +6 -6
- imbuf/__init__.pyi +2 -9
- imbuf/types/__init__.pyi +5 -25
- keyingsets_builtins/__init__.pyi +1 -45
- mathutils/__init__.pyi +106 -2168
- mathutils/bvhtree/__init__.pyi +3 -25
- mathutils/geometry/__init__.pyi +41 -133
- mathutils/interpolate/__init__.pyi +3 -4
- mathutils/kdtree/__init__.pyi +0 -11
- mathutils/noise/__init__.pyi +0 -62
- fake_bpy_module-20250828.dist-info/RECORD +0 -370
- {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
- {animsys_refactor → _animsys_refactor}/py.typed +0 -0
- {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
- {bl_console_utils → _bl_console_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
- {bl_previews_utils → _bl_previews_utils}/py.typed +0 -0
- {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
- {bl_rna_utils → _bl_rna_utils}/py.typed +0 -0
- {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
- {bl_text_utils → _bl_text_utils}/py.typed +0 -0
- {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
- {bl_ui_utils → _bl_ui_utils}/py.typed +0 -0
- /_bpy_internal/{freedesktop → platform/freedesktop}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
- {console_python → _console_python}/__init__.pyi +0 -0
- {console_python → _console_python}/py.typed +0 -0
- {console_shell → _console_shell}/__init__.pyi +0 -0
- {console_shell → _console_shell}/py.typed +0 -0
- {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
- {graphviz_export → _graphviz_export}/py.typed +0 -0
- {keyingsets_utils → _keyingsets_utils}/__init__.pyi +0 -0
- {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
- {rna_info → _rna_info}/py.typed +0 -0
- {rna_xml → _rna_xml}/__init__.pyi +0 -0
- {rna_xml → _rna_xml}/py.typed +0 -0
- {fake_bpy_module-20250828.dist-info → fake_bpy_module-20260119.dist-info}/WHEEL +0 -0
|
@@ -9,13 +9,9 @@ def complete(
|
|
|
9
9
|
"""Complete callable with call-tip.
|
|
10
10
|
|
|
11
11
|
:param line: incomplete text line
|
|
12
|
-
:type line: str
|
|
13
12
|
:param cursor: current character position
|
|
14
|
-
:type cursor: int
|
|
15
13
|
:param namespace: namespace
|
|
16
|
-
:type namespace: dict[str, typing.Any]
|
|
17
14
|
:return: (matches, world, scrollback)
|
|
18
|
-
:rtype: tuple[str, str, str]
|
|
19
15
|
"""
|
|
20
16
|
|
|
21
17
|
def get_argspec(
|
|
@@ -24,36 +20,27 @@ def get_argspec(
|
|
|
24
20
|
"""Get argument specifications.
|
|
25
21
|
|
|
26
22
|
:param strip_self: strip self from argspec
|
|
27
|
-
:type strip_self: bool
|
|
28
23
|
:param doc: doc string of func (optional)
|
|
29
|
-
:type doc: str | None
|
|
30
24
|
:param source: source code of func (optional)
|
|
31
|
-
:type source: str | None
|
|
32
25
|
:return: argument specification
|
|
33
|
-
:rtype: str
|
|
34
26
|
"""
|
|
35
27
|
|
|
36
28
|
def get_doc(obj) -> str:
|
|
37
29
|
"""Get the doc string or comments for an object.
|
|
38
30
|
|
|
39
31
|
:return: doc string
|
|
40
|
-
:rtype: str
|
|
41
32
|
"""
|
|
42
33
|
|
|
43
34
|
def reduce_newlines(text: str) -> str:
|
|
44
35
|
"""Reduces multiple newlines to a single newline.
|
|
45
36
|
|
|
46
37
|
:param text: text with multiple newlines
|
|
47
|
-
:type text: str
|
|
48
38
|
:return: text with single newlines
|
|
49
|
-
:rtype: str
|
|
50
39
|
"""
|
|
51
40
|
|
|
52
41
|
def reduce_spaces(text: str) -> str:
|
|
53
42
|
"""Reduces multiple white-spaces to a single space.
|
|
54
43
|
|
|
55
44
|
:param text: text with multiple spaces
|
|
56
|
-
:type text: str
|
|
57
45
|
:return: text with single spaces
|
|
58
|
-
:rtype: str
|
|
59
46
|
"""
|
|
@@ -10,9 +10,7 @@ def complete(line: str) -> list[str]:
|
|
|
10
10
|
|
|
11
11
|
import xml.d
|
|
12
12
|
from xml.dom import
|
|
13
|
-
:type line: str
|
|
14
13
|
:return: list of completion possibilities
|
|
15
|
-
:rtype: list[str]
|
|
16
14
|
"""
|
|
17
15
|
|
|
18
16
|
def get_root_modules() -> list:
|
|
@@ -20,7 +18,6 @@ def get_root_modules() -> list:
|
|
|
20
18
|
folders of the python-path.
|
|
21
19
|
|
|
22
20
|
:return: modules
|
|
23
|
-
:rtype: list
|
|
24
21
|
"""
|
|
25
22
|
|
|
26
23
|
def module_list(path: str) -> list:
|
|
@@ -28,7 +25,5 @@ def module_list(path: str) -> list:
|
|
|
28
25
|
the given folder.
|
|
29
26
|
|
|
30
27
|
:param path: folder path
|
|
31
|
-
:type path: str
|
|
32
28
|
:return: modules
|
|
33
|
-
:rtype: list
|
|
34
29
|
"""
|
|
@@ -8,13 +8,9 @@ def complete(word: str, namespace: dict, *, private: bool = True) -> list[str]:
|
|
|
8
8
|
module. Also supports index or key access [].
|
|
9
9
|
|
|
10
10
|
:param word: word to be completed
|
|
11
|
-
:type word: str
|
|
12
11
|
:param namespace: namespace
|
|
13
|
-
:type namespace: dict
|
|
14
12
|
:param private: whether private attribute/methods should be returned
|
|
15
|
-
:type private: bool
|
|
16
13
|
:return: completion matches
|
|
17
|
-
:rtype: list[str]
|
|
18
14
|
"""
|
|
19
15
|
|
|
20
16
|
def complete_indices(
|
|
@@ -23,25 +19,18 @@ def complete_indices(
|
|
|
23
19
|
"""Complete a list or dictionary with its indices:
|
|
24
20
|
|
|
25
21
|
:param word: word to be completed
|
|
26
|
-
:type word: str
|
|
27
22
|
:param namespace: namespace
|
|
28
|
-
:type namespace: dict
|
|
29
23
|
:param obj: object evaluated from base
|
|
30
24
|
:param base: sub-string which can be evaluated into an object.
|
|
31
|
-
:type base: str | None
|
|
32
25
|
:return: completion matches
|
|
33
|
-
:rtype: list[str]
|
|
34
26
|
"""
|
|
35
27
|
|
|
36
28
|
def complete_names(word: str, namespace: dict[str, typing.Any]) -> list[str]:
|
|
37
29
|
"""Complete variable names or attributes
|
|
38
30
|
|
|
39
31
|
:param word: word to be completed
|
|
40
|
-
:type word: str
|
|
41
32
|
:param namespace: namespace
|
|
42
|
-
:type namespace: dict[str, typing.Any]
|
|
43
33
|
:return: completion matches
|
|
44
|
-
:rtype: list[str]
|
|
45
34
|
"""
|
|
46
35
|
|
|
47
36
|
def is_dict(obj) -> None:
|
|
@@ -9,15 +9,10 @@ def complete(
|
|
|
9
9
|
"""Returns a list of possible completions:
|
|
10
10
|
|
|
11
11
|
:param line: incomplete text line
|
|
12
|
-
:type line: str
|
|
13
12
|
:param cursor: current character position
|
|
14
|
-
:type cursor: int
|
|
15
13
|
:param namespace: namespace
|
|
16
|
-
:type namespace: dict
|
|
17
14
|
:param private: whether private variables should be listed
|
|
18
|
-
:type private: bool
|
|
19
15
|
:return: list of completions, word
|
|
20
|
-
:rtype: tuple[list[str], str]
|
|
21
16
|
"""
|
|
22
17
|
|
|
23
18
|
def expand(
|
|
@@ -27,13 +22,8 @@ def expand(
|
|
|
27
22
|
e.g. when Ctrl+Space is clicked.
|
|
28
23
|
|
|
29
24
|
:param line: incomplete text line
|
|
30
|
-
:type line: str
|
|
31
25
|
:param cursor: current character position
|
|
32
|
-
:type cursor: int
|
|
33
26
|
:param namespace: namespace
|
|
34
|
-
:type namespace: dict[str, typing.Any]
|
|
35
27
|
:param private: whether private variables should be listed
|
|
36
|
-
:type private: bool
|
|
37
28
|
:return: current expanded line, updated cursor position and scrollback
|
|
38
|
-
:rtype: int | str
|
|
39
29
|
"""
|
|
@@ -11,6 +11,7 @@ def dump_addon_messages(addon_module_name, do_checks, settings) -> None: ...
|
|
|
11
11
|
def dump_asset_messages(msgs, reports, settings) -> None: ...
|
|
12
12
|
def dump_extension_metadata(msgs, reports, settings) -> None: ...
|
|
13
13
|
def dump_messages(do_messages, do_checks, settings) -> None: ...
|
|
14
|
+
def dump_ocio_config(msgs, reports, settings) -> None: ...
|
|
14
15
|
def dump_preset_messages(msgs, reports, settings) -> None: ...
|
|
15
16
|
def dump_py_messages(msgs, reports, addons, settings, addons_only=False) -> None: ...
|
|
16
17
|
def dump_py_messages_from_files(msgs, reports, files, settings) -> None: ...
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import collections.abc
|
|
3
|
+
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
5
|
+
|
|
6
|
+
class SpellChecker:
|
|
7
|
+
"""A basic spell checker."""
|
|
8
|
+
|
|
9
|
+
uimsgs: typing.Any
|
|
10
|
+
|
|
11
|
+
def check(self, txt) -> None:
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
:param txt:
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
@classmethod
|
|
18
|
+
def split_words(cls, text) -> None:
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
:param text:
|
|
22
|
+
"""
|
_bpy_internal/__init__.pyi
CHANGED
|
@@ -4,7 +4,9 @@ import typing_extensions
|
|
|
4
4
|
import numpy.typing as npt
|
|
5
5
|
from . import addons as addons
|
|
6
6
|
from . import assets as assets
|
|
7
|
+
from . import disk_file_hash_service as disk_file_hash_service
|
|
7
8
|
from . import extensions as extensions
|
|
8
|
-
from . import
|
|
9
|
+
from . import filesystem as filesystem
|
|
9
10
|
from . import grease_pencil as grease_pencil
|
|
11
|
+
from . import platform as platform
|
|
10
12
|
from . import system_info as system_info
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import collections.abc
|
|
3
|
+
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
5
|
+
from . import backend_sqlite as backend_sqlite
|
|
6
|
+
from . import hash_service as hash_service
|
|
7
|
+
from . import types as types
|
|
8
|
+
|
|
9
|
+
def get_service(storage_path) -> None:
|
|
10
|
+
"""Get a disk file hash service that stores its cache on the given path.Depending on the back-end (currently there is only the SQLite back-end, and
|
|
11
|
+
thus there is no choice in which one is used), the storage_path can be used
|
|
12
|
+
as directory or as file prefix. The SQLite back-end uses
|
|
13
|
+
{storage_path}_v{schema_version}.sqlite as storage.Once a DiskFileHashService is constructed, it is cached for future
|
|
14
|
+
invocations. These cached services are cleaned up when Blender loads another
|
|
15
|
+
file or when it exits.
|
|
16
|
+
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def on_blender_exit() -> None: ...
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import collections.abc
|
|
3
|
+
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
5
|
+
|
|
6
|
+
class SQLiteBackend:
|
|
7
|
+
"""DiskFileHashBackend implementation using SQLite as storage engine."""
|
|
8
|
+
|
|
9
|
+
db_conn_ro: typing.Any
|
|
10
|
+
db_conn_rw: typing.Any
|
|
11
|
+
|
|
12
|
+
def close(self) -> None:
|
|
13
|
+
"""Close the database connection."""
|
|
14
|
+
|
|
15
|
+
def fetch_hash(self, filepath, hash_algorithm) -> None:
|
|
16
|
+
"""Return the cached hash info of a given file.Returns a tuple (hexdigest, file size in bytes, last file mtime).
|
|
17
|
+
|
|
18
|
+
:param filepath:
|
|
19
|
+
:param hash_algorithm:
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
def mark_hash_as_fresh(self, filepath, hash_algorithm) -> None:
|
|
23
|
+
"""Store that the hash is still considered fresh.See remove_older_than().
|
|
24
|
+
|
|
25
|
+
:param filepath:
|
|
26
|
+
:param hash_algorithm:
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
def open(self) -> None:
|
|
30
|
+
"""Prepare the back-end for use.Create the directory structure & database file, and ensure the schema is as expected."""
|
|
31
|
+
|
|
32
|
+
def remove_older_than(self, *, days) -> None:
|
|
33
|
+
"""Remove all hash entries that are older than this many days.When this removes all known hashes for a file, the file entry itself is
|
|
34
|
+
also removed.
|
|
35
|
+
|
|
36
|
+
:param days:
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
def store_hash(
|
|
40
|
+
self, filepath, hash_algorithm, hash_info, pre_write_callback=None
|
|
41
|
+
) -> None:
|
|
42
|
+
"""Store a pre-computed hash for the given file path. The path has to exist.
|
|
43
|
+
|
|
44
|
+
:param filepath:
|
|
45
|
+
:param hash_algorithm:
|
|
46
|
+
:param hash_info:
|
|
47
|
+
:param pre_write_callback:
|
|
48
|
+
"""
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import collections.abc
|
|
3
|
+
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
5
|
+
|
|
6
|
+
class DiskFileHashService:
|
|
7
|
+
def close(self) -> None:
|
|
8
|
+
"""Close the service."""
|
|
9
|
+
|
|
10
|
+
def file_matches(self, filepath, hash_algorithm, hexhash, size_in_byes) -> None:
|
|
11
|
+
"""Check the file on disk, to see if it matches the given properties.
|
|
12
|
+
|
|
13
|
+
:param filepath:
|
|
14
|
+
:param hash_algorithm:
|
|
15
|
+
:param hexhash:
|
|
16
|
+
:param size_in_byes:
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
def get_hash(self, filepath, hash_algorithm) -> None:
|
|
20
|
+
"""Return the hash of a file on disk.
|
|
21
|
+
|
|
22
|
+
:param filepath:
|
|
23
|
+
:param hash_algorithm:
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def open(self) -> None:
|
|
27
|
+
"""Prepare the service for use."""
|
|
28
|
+
|
|
29
|
+
def store_hash(
|
|
30
|
+
self, filepath, hash_algorithm, hash_info, pre_write_callback=None
|
|
31
|
+
) -> None:
|
|
32
|
+
"""Store a pre-computed hash for the given file path.
|
|
33
|
+
|
|
34
|
+
:param filepath: the file whose hash should be stored. It does not have
|
|
35
|
+
to exist on disk yet at the moment of calling this function. If the
|
|
36
|
+
file does not exist, a pre_write_callback function should be given
|
|
37
|
+
that ensures the file does exist after it has been called.
|
|
38
|
+
:param hash_algorithm:
|
|
39
|
+
:param hash_info: the files hash, size in bytes, and last-modified
|
|
40
|
+
timestamp. When pre_write_callback is not None, the caller is
|
|
41
|
+
trusted to provide the correct information. Otherwise the file size
|
|
42
|
+
and last-modification timestamp are checked against the file on
|
|
43
|
+
disk. If they mis-match, a ValueError is raised.
|
|
44
|
+
:param pre_write_callback: if given, the function is called after any
|
|
45
|
+
lock on the storage back-end has been obtained, and before it is
|
|
46
|
+
updated. Any exception raised by this callback will abort the
|
|
47
|
+
storage of the hash.
|
|
48
|
+
|
|
49
|
+
This callback function can be used to implement the following:
|
|
50
|
+
|
|
51
|
+
Download a file to a temp location.
|
|
52
|
+
|
|
53
|
+
Compute its hash while downloading.
|
|
54
|
+
|
|
55
|
+
After downloading is complete, get the file size & modification time.
|
|
56
|
+
|
|
57
|
+
Store the hash.
|
|
58
|
+
|
|
59
|
+
In the pre-write callback function, move the file to its final location.
|
|
60
|
+
|
|
61
|
+
The Disk File Hashing Service unlocks the back-end.
|
|
62
|
+
|
|
63
|
+
This ensures the hash and file on disk are consistent.
|
|
64
|
+
"""
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import collections.abc
|
|
3
|
+
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
5
|
+
|
|
6
|
+
class DiskFileHashBackend:
|
|
7
|
+
"""Base class for protocol classes.Protocol classes are defined as:Such classes are primarily used with static type checkers that recognize
|
|
8
|
+
structural subtyping (static duck-typing).For example:See PEP 544 for details. Protocol classes decorated with
|
|
9
|
+
@typing.runtime_checkable act as simple-minded runtime protocols that check
|
|
10
|
+
only the presence of given attributes, ignoring their type signatures.
|
|
11
|
+
Protocol classes can be generic, they are defined as:
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
def close(self) -> None:
|
|
15
|
+
"""Close the back-end.After calling this, the back-end is not expected to work any more."""
|
|
16
|
+
|
|
17
|
+
def fetch_hash(self, filepath, hash_algorithm) -> None:
|
|
18
|
+
"""Return the cached hash info of a given file.If no info is cached for this path/algorithm combo, returns None.
|
|
19
|
+
|
|
20
|
+
:param filepath:
|
|
21
|
+
:param hash_algorithm:
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
def mark_hash_as_fresh(self, filepath, hash_algorithm) -> None:
|
|
25
|
+
"""Store that the hash is still considered fresh.See remove_older_than().
|
|
26
|
+
|
|
27
|
+
:param filepath:
|
|
28
|
+
:param hash_algorithm:
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
def open(self) -> None:
|
|
32
|
+
"""Prepare the back-end for use."""
|
|
33
|
+
|
|
34
|
+
def remove_older_than(self, *, days) -> None:
|
|
35
|
+
"""Remove all hash entries that are older than this many days.When this removes all known hashes for a file, the file entry itself is
|
|
36
|
+
also removed.
|
|
37
|
+
|
|
38
|
+
:param days:
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
def store_hash(
|
|
42
|
+
self, filepath, hash_algorithm, hash_info, pre_write_callback=None
|
|
43
|
+
) -> None:
|
|
44
|
+
"""Store a pre-computed hash for the given file path.See DiskFileHashService.store_hash() for an explanation of the parameters.
|
|
45
|
+
|
|
46
|
+
:param filepath:
|
|
47
|
+
:param hash_algorithm:
|
|
48
|
+
:param hash_info:
|
|
49
|
+
:param pre_write_callback:
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
class FileHashInfo:
|
|
53
|
+
"""FileHashInfo(hexhash: str, file_size_bytes: int, file_stat_mtime: float)"""
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import collections.abc
|
|
3
|
+
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
5
|
+
|
|
6
|
+
class MutexAcquisitionError:
|
|
7
|
+
"""Raised when mutex_lock_and_open_with_retry() cannot obtain a lock."""
|
|
8
|
+
|
|
9
|
+
args: typing.Any
|
|
10
|
+
|
|
11
|
+
def mutex_lock_and_open(file_path, mode) -> None:
|
|
12
|
+
"""Obtain an exclusive lock on a file.Create a file on disk, and immediately lock it for exclusive use by this
|
|
13
|
+
process.
|
|
14
|
+
|
|
15
|
+
:return: If the file was opened & locked succesfully, a tuple (file,
|
|
16
|
+
unlocker) is returned. Otherwise returns None. The caller should call
|
|
17
|
+
unlocker(file) to unlock the mutex.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
def mutex_lock_and_open_with_retry(
|
|
21
|
+
file_path, mode, *, max_tries, wait_time_sec
|
|
22
|
+
) -> None:
|
|
23
|
+
"""Obtain an exclusive lock on a file, retrying when that fails.See mutex_lock_and_open() for the lock semantics, and the first two parameters.
|
|
24
|
+
|
|
25
|
+
:param max_tries: number of times the code attempts to acquire the lock.
|
|
26
|
+
:return: A tuple (file, unlocker) is returned. The caller should call
|
|
27
|
+
unlocker(file) to unlock the mutex.
|
|
28
|
+
"""
|