fake-bpy-module 20240519__py3-none-any.whl → 20240520__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.

Potentially problematic release.


This version of fake-bpy-module might be problematic. Click here for more details.

Files changed (312) hide show
  1. _bpy_internal/__init__.pyi +1 -0
  2. _bpy_internal/freedesktop/__init__.pyi +1 -0
  3. addon_utils/__init__.pyi +1 -0
  4. animsys_refactor/__init__.pyi +1 -0
  5. aud/__init__.pyi +1 -0
  6. bgl/__init__.pyi +119 -145
  7. bl_app_override/__init__.pyi +1 -0
  8. bl_app_override/helpers/__init__.pyi +1 -0
  9. bl_app_template_utils/__init__.pyi +1 -0
  10. bl_console_utils/__init__.pyi +1 -0
  11. bl_console_utils/autocomplete/__init__.pyi +1 -0
  12. bl_console_utils/autocomplete/complete_calltip/__init__.pyi +1 -0
  13. bl_console_utils/autocomplete/complete_import/__init__.pyi +1 -0
  14. bl_console_utils/autocomplete/complete_namespace/__init__.pyi +1 -0
  15. bl_console_utils/autocomplete/intellisense/__init__.pyi +1 -0
  16. bl_i18n_utils/__init__.pyi +1 -0
  17. bl_i18n_utils/bl_extract_messages/__init__.pyi +1 -0
  18. bl_i18n_utils/merge_po/__init__.pyi +1 -0
  19. bl_i18n_utils/settings/__init__.pyi +1 -0
  20. bl_i18n_utils/utils/__init__.pyi +1 -0
  21. bl_i18n_utils/utils_cli/__init__.pyi +1 -0
  22. bl_i18n_utils/utils_languages_menu/__init__.pyi +1 -0
  23. bl_i18n_utils/utils_rtl/__init__.pyi +1 -0
  24. bl_keymap_utils/__init__.pyi +1 -0
  25. bl_keymap_utils/io/__init__.pyi +1 -0
  26. bl_keymap_utils/keymap_from_toolbar/__init__.pyi +1 -0
  27. bl_keymap_utils/keymap_hierarchy/__init__.pyi +1 -0
  28. bl_keymap_utils/platform_helpers/__init__.pyi +1 -0
  29. bl_keymap_utils/versioning/__init__.pyi +1 -0
  30. bl_math/__init__.pyi +1 -0
  31. bl_operators/__init__.pyi +1 -0
  32. bl_operators/add_mesh_torus/__init__.pyi +1 -0
  33. bl_operators/anim/__init__.pyi +1 -0
  34. bl_operators/assets/__init__.pyi +1 -0
  35. bl_operators/bmesh/__init__.pyi +1 -0
  36. bl_operators/bmesh/find_adjacent/__init__.pyi +1 -0
  37. bl_operators/clip/__init__.pyi +1 -0
  38. bl_operators/console/__init__.pyi +1 -0
  39. bl_operators/constraint/__init__.pyi +1 -0
  40. bl_operators/file/__init__.pyi +1 -0
  41. bl_operators/freestyle/__init__.pyi +1 -0
  42. bl_operators/geometry_nodes/__init__.pyi +1 -0
  43. bl_operators/image/__init__.pyi +1 -0
  44. bl_operators/mesh/__init__.pyi +1 -0
  45. bl_operators/node/__init__.pyi +1 -0
  46. bl_operators/object/__init__.pyi +1 -0
  47. bl_operators/object_align/__init__.pyi +1 -0
  48. bl_operators/object_quick_effects/__init__.pyi +1 -0
  49. bl_operators/object_randomize_transform/__init__.pyi +1 -0
  50. bl_operators/presets/__init__.pyi +1 -0
  51. bl_operators/rigidbody/__init__.pyi +1 -0
  52. bl_operators/screen_play_rendered_anim/__init__.pyi +1 -0
  53. bl_operators/sequencer/__init__.pyi +1 -0
  54. bl_operators/spreadsheet/__init__.pyi +1 -0
  55. bl_operators/userpref/__init__.pyi +1 -0
  56. bl_operators/uvcalc_follow_active/__init__.pyi +1 -0
  57. bl_operators/uvcalc_lightmap/__init__.pyi +1 -0
  58. bl_operators/uvcalc_transform/__init__.pyi +1 -0
  59. bl_operators/vertexpaint_dirt/__init__.pyi +1 -0
  60. bl_operators/view3d/__init__.pyi +1 -0
  61. bl_operators/wm/__init__.pyi +1 -0
  62. bl_operators/world/__init__.pyi +1 -0
  63. bl_previews_utils/__init__.pyi +1 -0
  64. bl_previews_utils/bl_previews_render/__init__.pyi +1 -0
  65. bl_rna_utils/__init__.pyi +1 -0
  66. bl_rna_utils/data_path/__init__.pyi +1 -0
  67. bl_text_utils/__init__.pyi +1 -0
  68. bl_text_utils/external_editor/__init__.pyi +1 -0
  69. bl_ui/__init__.pyi +1 -0
  70. bl_ui/anim/__init__.pyi +1 -0
  71. bl_ui/asset_shelf/__init__.pyi +1 -0
  72. bl_ui/generic_ui_list/__init__.pyi +1 -0
  73. bl_ui/node_add_menu/__init__.pyi +1 -0
  74. bl_ui/node_add_menu_compositor/__init__.pyi +1 -0
  75. bl_ui/node_add_menu_geometry/__init__.pyi +1 -0
  76. bl_ui/node_add_menu_shader/__init__.pyi +1 -0
  77. bl_ui/node_add_menu_texture/__init__.pyi +1 -0
  78. bl_ui/properties_animviz/__init__.pyi +1 -0
  79. bl_ui/properties_collection/__init__.pyi +1 -0
  80. bl_ui/properties_constraint/__init__.pyi +1 -0
  81. bl_ui/properties_data_armature/__init__.pyi +1 -0
  82. bl_ui/properties_data_bone/__init__.pyi +1 -0
  83. bl_ui/properties_data_camera/__init__.pyi +1 -0
  84. bl_ui/properties_data_curve/__init__.pyi +1 -0
  85. bl_ui/properties_data_curves/__init__.pyi +1 -0
  86. bl_ui/properties_data_empty/__init__.pyi +1 -0
  87. bl_ui/properties_data_gpencil/__init__.pyi +1 -0
  88. bl_ui/properties_data_grease_pencil/__init__.pyi +1 -0
  89. bl_ui/properties_data_lattice/__init__.pyi +1 -0
  90. bl_ui/properties_data_light/__init__.pyi +1 -0
  91. bl_ui/properties_data_lightprobe/__init__.pyi +1 -0
  92. bl_ui/properties_data_mesh/__init__.pyi +1 -0
  93. bl_ui/properties_data_metaball/__init__.pyi +1 -0
  94. bl_ui/properties_data_modifier/__init__.pyi +1 -0
  95. bl_ui/properties_data_pointcloud/__init__.pyi +1 -0
  96. bl_ui/properties_data_shaderfx/__init__.pyi +1 -0
  97. bl_ui/properties_data_speaker/__init__.pyi +1 -0
  98. bl_ui/properties_data_volume/__init__.pyi +1 -0
  99. bl_ui/properties_freestyle/__init__.pyi +1 -0
  100. bl_ui/properties_grease_pencil_common/__init__.pyi +1 -0
  101. bl_ui/properties_mask_common/__init__.pyi +1 -0
  102. bl_ui/properties_material/__init__.pyi +1 -0
  103. bl_ui/properties_material_gpencil/__init__.pyi +1 -0
  104. bl_ui/properties_object/__init__.pyi +1 -0
  105. bl_ui/properties_output/__init__.pyi +1 -0
  106. bl_ui/properties_paint_common/__init__.pyi +1 -0
  107. bl_ui/properties_particle/__init__.pyi +1 -0
  108. bl_ui/properties_physics_cloth/__init__.pyi +1 -0
  109. bl_ui/properties_physics_common/__init__.pyi +1 -0
  110. bl_ui/properties_physics_dynamicpaint/__init__.pyi +1 -0
  111. bl_ui/properties_physics_field/__init__.pyi +1 -0
  112. bl_ui/properties_physics_fluid/__init__.pyi +1 -0
  113. bl_ui/properties_physics_geometry_nodes/__init__.pyi +1 -0
  114. bl_ui/properties_physics_rigidbody/__init__.pyi +1 -0
  115. bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +1 -0
  116. bl_ui/properties_physics_softbody/__init__.pyi +1 -0
  117. bl_ui/properties_render/__init__.pyi +1 -0
  118. bl_ui/properties_scene/__init__.pyi +1 -0
  119. bl_ui/properties_texture/__init__.pyi +1 -0
  120. bl_ui/properties_view_layer/__init__.pyi +1 -0
  121. bl_ui/properties_workspace/__init__.pyi +1 -0
  122. bl_ui/properties_world/__init__.pyi +1 -0
  123. bl_ui/space_clip/__init__.pyi +1 -0
  124. bl_ui/space_console/__init__.pyi +1 -0
  125. bl_ui/space_dopesheet/__init__.pyi +1 -0
  126. bl_ui/space_filebrowser/__init__.pyi +1 -0
  127. bl_ui/space_graph/__init__.pyi +1 -0
  128. bl_ui/space_image/__init__.pyi +1 -0
  129. bl_ui/space_info/__init__.pyi +1 -0
  130. bl_ui/space_nla/__init__.pyi +1 -0
  131. bl_ui/space_node/__init__.pyi +1 -0
  132. bl_ui/space_outliner/__init__.pyi +1 -0
  133. bl_ui/space_properties/__init__.pyi +1 -0
  134. bl_ui/space_sequencer/__init__.pyi +1 -0
  135. bl_ui/space_spreadsheet/__init__.pyi +1 -0
  136. bl_ui/space_statusbar/__init__.pyi +1 -0
  137. bl_ui/space_text/__init__.pyi +1 -0
  138. bl_ui/space_time/__init__.pyi +1 -0
  139. bl_ui/space_toolsystem_common/__init__.pyi +1 -0
  140. bl_ui/space_toolsystem_toolbar/__init__.pyi +1 -0
  141. bl_ui/space_topbar/__init__.pyi +1 -0
  142. bl_ui/space_userpref/__init__.pyi +1 -0
  143. bl_ui/space_view3d/__init__.pyi +1 -0
  144. bl_ui/space_view3d_toolbar/__init__.pyi +1 -0
  145. bl_ui/temp_anim_layers/__init__.pyi +1 -0
  146. bl_ui/utils/__init__.pyi +1 -0
  147. bl_ui_utils/__init__.pyi +1 -0
  148. bl_ui_utils/bug_report_url/__init__.pyi +1 -0
  149. bl_ui_utils/layout/__init__.pyi +1 -0
  150. blend_render_info/__init__.pyi +1 -0
  151. blf/__init__.pyi +1 -0
  152. bmesh/__init__.pyi +1 -0
  153. bmesh/geometry/__init__.pyi +1 -0
  154. bmesh/ops/__init__.pyi +37 -36
  155. bmesh/types/__init__.pyi +3 -1
  156. bmesh/utils/__init__.pyi +1 -0
  157. bpy/__init__.pyi +1 -0
  158. bpy/app/__init__.pyi +1 -0
  159. bpy/app/handlers/__init__.pyi +1 -0
  160. bpy/app/icons/__init__.pyi +1 -0
  161. bpy/app/timers/__init__.pyi +1 -0
  162. bpy/app/translations/__init__.pyi +1 -0
  163. bpy/msgbus/__init__.pyi +1 -0
  164. bpy/ops/__init__.pyi +1 -0
  165. bpy/ops/action/__init__.pyi +33 -32
  166. bpy/ops/anim/__init__.pyi +31 -30
  167. bpy/ops/armature/__init__.pyi +21 -20
  168. bpy/ops/asset/__init__.pyi +7 -6
  169. bpy/ops/bl_pkg/__init__.pyi +3 -2
  170. bpy/ops/boid/__init__.pyi +3 -2
  171. bpy/ops/brush/__init__.pyi +9 -8
  172. bpy/ops/buttons/__init__.pyi +9 -8
  173. bpy/ops/cachefile/__init__.pyi +11 -10
  174. bpy/ops/camera/__init__.pyi +1 -0
  175. bpy/ops/clip/__init__.pyi +39 -38
  176. bpy/ops/cloth/__init__.pyi +1 -0
  177. bpy/ops/collection/__init__.pyi +7 -6
  178. bpy/ops/console/__init__.pyi +7 -6
  179. bpy/ops/constraint/__init__.pyi +29 -28
  180. bpy/ops/curve/__init__.pyi +35 -34
  181. bpy/ops/curves/__init__.pyi +17 -16
  182. bpy/ops/cycles/__init__.pyi +1 -0
  183. bpy/ops/dpaint/__init__.pyi +5 -4
  184. bpy/ops/ed/__init__.pyi +5 -4
  185. bpy/ops/export_anim/__init__.pyi +3 -2
  186. bpy/ops/export_scene/__init__.pyi +39 -38
  187. bpy/ops/file/__init__.pyi +19 -18
  188. bpy/ops/fluid/__init__.pyi +1 -0
  189. bpy/ops/font/__init__.pyi +21 -20
  190. bpy/ops/geometry/__init__.pyi +21 -20
  191. bpy/ops/gizmogroup/__init__.pyi +1 -0
  192. bpy/ops/gpencil/__init__.pyi +133 -132
  193. bpy/ops/graph/__init__.pyi +55 -54
  194. bpy/ops/grease_pencil/__init__.pyi +43 -42
  195. bpy/ops/image/__init__.pyi +29 -28
  196. bpy/ops/import_anim/__init__.pyi +9 -8
  197. bpy/ops/import_curve/__init__.pyi +1 -0
  198. bpy/ops/import_scene/__init__.pyi +19 -18
  199. bpy/ops/info/__init__.pyi +5 -4
  200. bpy/ops/lattice/__init__.pyi +7 -6
  201. bpy/ops/marker/__init__.pyi +9 -8
  202. bpy/ops/mask/__init__.pyi +13 -12
  203. bpy/ops/material/__init__.pyi +1 -0
  204. bpy/ops/mball/__init__.pyi +7 -6
  205. bpy/ops/mesh/__init__.pyi +145 -144
  206. bpy/ops/nla/__init__.pyi +17 -16
  207. bpy/ops/node/__init__.pyi +33 -32
  208. bpy/ops/object/__init__.pyi +253 -252
  209. bpy/ops/outliner/__init__.pyi +41 -40
  210. bpy/ops/paint/__init__.pyi +73 -72
  211. bpy/ops/paintcurve/__init__.pyi +1 -0
  212. bpy/ops/palette/__init__.pyi +5 -4
  213. bpy/ops/particle/__init__.pyi +15 -14
  214. bpy/ops/pose/__init__.pyi +43 -42
  215. bpy/ops/poselib/__init__.pyi +1 -0
  216. bpy/ops/preferences/__init__.pyi +13 -12
  217. bpy/ops/ptcache/__init__.pyi +1 -0
  218. bpy/ops/render/__init__.pyi +3 -2
  219. bpy/ops/rigidbody/__init__.pyi +17 -16
  220. bpy/ops/scene/__init__.pyi +25 -24
  221. bpy/ops/screen/__init__.pyi +21 -20
  222. bpy/ops/script/__init__.pyi +1 -0
  223. bpy/ops/sculpt/__init__.pyi +67 -66
  224. bpy/ops/sculpt_curves/__init__.pyi +3 -2
  225. bpy/ops/sequencer/__init__.pyi +75 -74
  226. bpy/ops/sound/__init__.pyi +21 -20
  227. bpy/ops/spreadsheet/__init__.pyi +1 -0
  228. bpy/ops/surface/__init__.pyi +13 -12
  229. bpy/ops/text/__init__.pyi +23 -22
  230. bpy/ops/text_editor/__init__.pyi +1 -0
  231. bpy/ops/texture/__init__.pyi +3 -2
  232. bpy/ops/transform/__init__.pyi +89 -88
  233. bpy/ops/ui/__init__.pyi +7 -6
  234. bpy/ops/uilist/__init__.pyi +3 -2
  235. bpy/ops/uv/__init__.pyi +67 -66
  236. bpy/ops/view2d/__init__.pyi +1 -0
  237. bpy/ops/view3d/__init__.pyi +35 -34
  238. bpy/ops/wm/__init__.pyi +197 -196
  239. bpy/ops/workspace/__init__.pyi +1 -0
  240. bpy/ops/world/__init__.pyi +1 -0
  241. bpy/path/__init__.pyi +1 -0
  242. bpy/props/__init__.pyi +1 -0
  243. bpy/types/__init__.pyi +3367 -3341
  244. bpy/utils/__init__.pyi +1 -0
  245. bpy/utils/previews/__init__.pyi +1 -0
  246. bpy/utils/units/__init__.pyi +1 -0
  247. bpy_extras/__init__.pyi +1 -0
  248. bpy_extras/anim_utils/__init__.pyi +1 -0
  249. bpy_extras/asset_utils/__init__.pyi +1 -0
  250. bpy_extras/bmesh_utils/__init__.pyi +1 -0
  251. bpy_extras/extensions/__init__.pyi +1 -0
  252. bpy_extras/extensions/junction_module/__init__.pyi +1 -0
  253. bpy_extras/id_map_utils/__init__.pyi +1 -0
  254. bpy_extras/image_utils/__init__.pyi +1 -0
  255. bpy_extras/io_utils/__init__.pyi +1 -0
  256. bpy_extras/keyconfig_utils/__init__.pyi +1 -0
  257. bpy_extras/mesh_utils/__init__.pyi +1 -0
  258. bpy_extras/node_shader_utils/__init__.pyi +1 -0
  259. bpy_extras/node_utils/__init__.pyi +1 -0
  260. bpy_extras/object_utils/__init__.pyi +1 -0
  261. bpy_extras/view3d_utils/__init__.pyi +1 -0
  262. bpy_extras/wm_utils/__init__.pyi +1 -0
  263. bpy_extras/wm_utils/progress_report/__init__.pyi +1 -0
  264. bpy_restrict_state/__init__.pyi +1 -0
  265. bpy_types/__init__.pyi +1 -0
  266. console_python/__init__.pyi +1 -0
  267. console_shell/__init__.pyi +1 -0
  268. {fake_bpy_module-20240519.dist-info → fake_bpy_module-20240520.dist-info}/METADATA +1 -1
  269. fake_bpy_module-20240520.dist-info/RECORD +353 -0
  270. freestyle/__init__.pyi +1 -0
  271. freestyle/chainingiterators/__init__.pyi +1 -0
  272. freestyle/functions/__init__.pyi +1 -0
  273. freestyle/predicates/__init__.pyi +1 -0
  274. freestyle/shaders/__init__.pyi +1 -0
  275. freestyle/types/__init__.pyi +1 -0
  276. freestyle/utils/ContextFunctions/__init__.pyi +1 -0
  277. freestyle/utils/__init__.pyi +1 -0
  278. gpu/__init__.pyi +1 -0
  279. gpu/capabilities/__init__.pyi +1 -0
  280. gpu/matrix/__init__.pyi +1 -0
  281. gpu/platform/__init__.pyi +1 -0
  282. gpu/select/__init__.pyi +1 -0
  283. gpu/shader/__init__.pyi +1 -0
  284. gpu/state/__init__.pyi +1 -0
  285. gpu/texture/__init__.pyi +1 -0
  286. gpu/types/__init__.pyi +1 -0
  287. gpu_extras/__init__.pyi +1 -0
  288. gpu_extras/batch/__init__.pyi +1 -0
  289. gpu_extras/presets/__init__.pyi +1 -0
  290. graphviz_export/__init__.pyi +1 -0
  291. idprop/__init__.pyi +1 -0
  292. idprop/types/__init__.pyi +1 -0
  293. imbuf/__init__.pyi +1 -0
  294. imbuf/types/__init__.pyi +1 -0
  295. keyingsets_builtins/__init__.pyi +1 -0
  296. keyingsets_utils/__init__.pyi +1 -0
  297. mathutils/__init__.pyi +3 -1
  298. mathutils/bvhtree/__init__.pyi +1 -0
  299. mathutils/geometry/__init__.pyi +1 -0
  300. mathutils/interpolate/__init__.pyi +1 -0
  301. mathutils/kdtree/__init__.pyi +1 -0
  302. mathutils/noise/__init__.pyi +1 -0
  303. nodeitems_builtins/__init__.pyi +1 -0
  304. nodeitems_utils/__init__.pyi +1 -0
  305. rna_info/__init__.pyi +1 -0
  306. rna_keymap_ui/__init__.pyi +1 -0
  307. rna_prop_ui/__init__.pyi +1 -0
  308. rna_xml/__init__.pyi +1 -0
  309. sys_info/__init__.pyi +1 -0
  310. fake_bpy_module-20240519.dist-info/RECORD +0 -353
  311. {fake_bpy_module-20240519.dist-info → fake_bpy_module-20240520.dist-info}/WHEEL +0 -0
  312. {fake_bpy_module-20240519.dist-info → fake_bpy_module-20240520.dist-info}/top_level.txt +0 -0
bpy/ops/anim/__init__.pyi CHANGED
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -82,7 +83,7 @@ def channels_bake(
82
83
  range: typing.Any | None = (0, 0),
83
84
  step: typing.Any | None = 1.0,
84
85
  remove_outside_range: bool | typing.Any | None = False,
85
- interpolation_type: str | int | None = "BEZIER",
86
+ interpolation_type: str | None = "BEZIER",
86
87
  bake_modifiers: bool | typing.Any | None = True,
87
88
  ):
88
89
  """Create keyframes following the current shape of F-Curves of selected channels
@@ -106,7 +107,7 @@ def channels_bake(
106
107
 
107
108
  CONST
108
109
  Constant -- New keys will be constant.
109
- :type interpolation_type: str | int | None
110
+ :type interpolation_type: str | None
110
111
  :param bake_modifiers: Bake Modifiers, Bake Modifiers into keyframes and delete them after
111
112
  :type bake_modifiers: bool | typing.Any | None
112
113
  """
@@ -185,8 +186,8 @@ def channels_editable_toggle(
185
186
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
186
187
  execution_context: str | int | None = None,
187
188
  undo: bool | None = None,
188
- mode: str | int | None = "TOGGLE",
189
- type: str | int | None = "PROTECT",
189
+ mode: str | None = "TOGGLE",
190
+ type: str | None = "PROTECT",
190
191
  ):
191
192
  """Toggle editability of selected channels
192
193
 
@@ -194,9 +195,9 @@ def channels_editable_toggle(
194
195
  :type execution_context: str | int | None
195
196
  :type undo: bool | None
196
197
  :param mode: Mode
197
- :type mode: str | int | None
198
+ :type mode: str | None
198
199
  :param type: Type
199
- :type type: str | int | None
200
+ :type type: str | None
200
201
  """
201
202
 
202
203
  ...
@@ -253,7 +254,7 @@ def channels_move(
253
254
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
254
255
  execution_context: str | int | None = None,
255
256
  undo: bool | None = None,
256
- direction: str | int | None = "DOWN",
257
+ direction: str | None = "DOWN",
257
258
  ):
258
259
  """Rearrange selected animation channels
259
260
 
@@ -261,7 +262,7 @@ def channels_move(
261
262
  :type execution_context: str | int | None
262
263
  :type undo: bool | None
263
264
  :param direction: Direction
264
- :type direction: str | int | None
265
+ :type direction: str | None
265
266
  """
266
267
 
267
268
  ...
@@ -284,7 +285,7 @@ def channels_select_all(
284
285
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
285
286
  execution_context: str | int | None = None,
286
287
  undo: bool | None = None,
287
- action: str | int | None = "TOGGLE",
288
+ action: str | None = "TOGGLE",
288
289
  ):
289
290
  """Toggle selection of all animation channels
290
291
 
@@ -304,7 +305,7 @@ def channels_select_all(
304
305
 
305
306
  INVERT
306
307
  Invert -- Invert selection of all elements.
307
- :type action: str | int | None
308
+ :type action: str | None
308
309
  """
309
310
 
310
311
  ...
@@ -362,8 +363,8 @@ def channels_setting_disable(
362
363
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
363
364
  execution_context: str | int | None = None,
364
365
  undo: bool | None = None,
365
- mode: str | int | None = "DISABLE",
366
- type: str | int | None = "PROTECT",
366
+ mode: str | None = "DISABLE",
367
+ type: str | None = "PROTECT",
367
368
  ):
368
369
  """Disable specified setting on all selected animation channels
369
370
 
@@ -371,9 +372,9 @@ def channels_setting_disable(
371
372
  :type execution_context: str | int | None
372
373
  :type undo: bool | None
373
374
  :param mode: Mode
374
- :type mode: str | int | None
375
+ :type mode: str | None
375
376
  :param type: Type
376
- :type type: str | int | None
377
+ :type type: str | None
377
378
  """
378
379
 
379
380
  ...
@@ -382,8 +383,8 @@ def channels_setting_enable(
382
383
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
383
384
  execution_context: str | int | None = None,
384
385
  undo: bool | None = None,
385
- mode: str | int | None = "ENABLE",
386
- type: str | int | None = "PROTECT",
386
+ mode: str | None = "ENABLE",
387
+ type: str | None = "PROTECT",
387
388
  ):
388
389
  """Enable specified setting on all selected animation channels
389
390
 
@@ -391,9 +392,9 @@ def channels_setting_enable(
391
392
  :type execution_context: str | int | None
392
393
  :type undo: bool | None
393
394
  :param mode: Mode
394
- :type mode: str | int | None
395
+ :type mode: str | None
395
396
  :param type: Type
396
- :type type: str | int | None
397
+ :type type: str | None
397
398
  """
398
399
 
399
400
  ...
@@ -402,8 +403,8 @@ def channels_setting_toggle(
402
403
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
403
404
  execution_context: str | int | None = None,
404
405
  undo: bool | None = None,
405
- mode: str | int | None = "TOGGLE",
406
- type: str | int | None = "PROTECT",
406
+ mode: str | None = "TOGGLE",
407
+ type: str | None = "PROTECT",
407
408
  ):
408
409
  """Toggle specified setting on all selected animation channels
409
410
 
@@ -411,9 +412,9 @@ def channels_setting_toggle(
411
412
  :type execution_context: str | int | None
412
413
  :type undo: bool | None
413
414
  :param mode: Mode
414
- :type mode: str | int | None
415
+ :type mode: str | None
415
416
  :param type: Type
416
- :type type: str | int | None
417
+ :type type: str | None
417
418
  """
418
419
 
419
420
  ...
@@ -580,7 +581,7 @@ def keyframe_delete(
580
581
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
581
582
  execution_context: str | int | None = None,
582
583
  undo: bool | None = None,
583
- type: str | int | None = "DEFAULT",
584
+ type: str | None = "DEFAULT",
584
585
  ):
585
586
  """Delete keyframes on the current frame for all properties in the specified Keying Set
586
587
 
@@ -588,7 +589,7 @@ def keyframe_delete(
588
589
  :type execution_context: str | int | None
589
590
  :type undo: bool | None
590
591
  :param type: Keying Set, The Keying Set to use
591
- :type type: str | int | None
592
+ :type type: str | None
592
593
  """
593
594
 
594
595
  ...
@@ -648,7 +649,7 @@ def keyframe_insert(
648
649
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
649
650
  execution_context: str | int | None = None,
650
651
  undo: bool | None = None,
651
- type: str | int | None = "DEFAULT",
652
+ type: str | None = "DEFAULT",
652
653
  ):
653
654
  """Insert keyframes on the current frame using either the active keying set, or the user preferences if no keying set is active
654
655
 
@@ -656,7 +657,7 @@ def keyframe_insert(
656
657
  :type execution_context: str | int | None
657
658
  :type undo: bool | None
658
659
  :param type: Keying Set, The Keying Set to use
659
- :type type: str | int | None
660
+ :type type: str | None
660
661
  """
661
662
 
662
663
  ...
@@ -699,7 +700,7 @@ def keyframe_insert_menu(
699
700
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
700
701
  execution_context: str | int | None = None,
701
702
  undo: bool | None = None,
702
- type: str | int | None = "DEFAULT",
703
+ type: str | None = "DEFAULT",
703
704
  always_prompt: bool | typing.Any | None = False,
704
705
  ):
705
706
  """Insert Keyframes for specified Keying Set, with menu of available Keying Sets if undefined
@@ -708,7 +709,7 @@ def keyframe_insert_menu(
708
709
  :type execution_context: str | int | None
709
710
  :type undo: bool | None
710
711
  :param type: Keying Set, The Keying Set to use
711
- :type type: str | int | None
712
+ :type type: str | None
712
713
  :param always_prompt: Always Show Menu
713
714
  :type always_prompt: bool | typing.Any | None
714
715
  """
@@ -719,7 +720,7 @@ def keying_set_active_set(
719
720
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
720
721
  execution_context: str | int | None = None,
721
722
  undo: bool | None = None,
722
- type: str | int | None = "DEFAULT",
723
+ type: str | None = "DEFAULT",
723
724
  ):
724
725
  """Set a new active keying set
725
726
 
@@ -727,7 +728,7 @@ def keying_set_active_set(
727
728
  :type execution_context: str | int | None
728
729
  :type undo: bool | None
729
730
  :param type: Keying Set, The Keying Set to use
730
- :type type: str | int | None
731
+ :type type: str | None
731
732
  """
732
733
 
733
734
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.ops.transform
3
4
  import bpy.types
4
5
 
@@ -43,7 +44,7 @@ def autoside_names(
43
44
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
44
45
  execution_context: str | int | None = None,
45
46
  undo: bool | None = None,
46
- type: str | int | None = "XAXIS",
47
+ type: str | None = "XAXIS",
47
48
  ):
48
49
  """Automatically renames the selected bones according to which side of the target axis they fall on
49
50
 
@@ -60,7 +61,7 @@ def autoside_names(
60
61
 
61
62
  ZAXIS
62
63
  Z-Axis -- Top/Bottom.
63
- :type type: str | int | None
64
+ :type type: str | None
64
65
  """
65
66
 
66
67
  ...
@@ -86,7 +87,7 @@ def calculate_roll(
86
87
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
87
88
  execution_context: str | int | None = None,
88
89
  undo: bool | None = None,
89
- type: str | int | None = "POS_X",
90
+ type: str | None = "POS_X",
90
91
  axis_flip: bool | typing.Any | None = False,
91
92
  axis_only: bool | typing.Any | None = False,
92
93
  ):
@@ -96,7 +97,7 @@ def calculate_roll(
96
97
  :type execution_context: str | int | None
97
98
  :type undo: bool | None
98
99
  :param type: Type
99
- :type type: str | int | None
100
+ :type type: str | None
100
101
  :param axis_flip: Flip Axis, Negate the alignment axis
101
102
  :type axis_flip: bool | typing.Any | None
102
103
  :param axis_only: Shortest Rotation, Ignore the axis direction, use the shortest rotation to align
@@ -185,7 +186,7 @@ def collection_move(
185
186
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
186
187
  execution_context: str | int | None = None,
187
188
  undo: bool | None = None,
188
- direction: str | int | None = "UP",
189
+ direction: str | None = "UP",
189
190
  ):
190
191
  """Change position of active Bone Collection in list of Bone collections
191
192
 
@@ -193,7 +194,7 @@ def collection_move(
193
194
  :type execution_context: str | int | None
194
195
  :type undo: bool | None
195
196
  :param direction: Direction, Direction to move the active Bone Collection towards
196
- :type direction: str | int | None
197
+ :type direction: str | None
197
198
  """
198
199
 
199
200
  ...
@@ -309,7 +310,7 @@ def copy_bone_color_to_selected(
309
310
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
310
311
  execution_context: str | int | None = None,
311
312
  undo: bool | None = None,
312
- bone_type: str | int | None = "EDIT",
313
+ bone_type: str | None = "EDIT",
313
314
  ):
314
315
  """Copy the bone color of the active bone to all selected bones
315
316
 
@@ -323,7 +324,7 @@ def copy_bone_color_to_selected(
323
324
 
324
325
  POSE
325
326
  Pose Bone -- Copy Pose Bone colors from the active pose bone to all selected pose bones.
326
- :type bone_type: str | int | None
327
+ :type bone_type: str | None
327
328
  """
328
329
 
329
330
  ...
@@ -525,7 +526,7 @@ def parent_clear(
525
526
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
526
527
  execution_context: str | int | None = None,
527
528
  undo: bool | None = None,
528
- type: str | int | None = "CLEAR",
529
+ type: str | None = "CLEAR",
529
530
  ):
530
531
  """Remove the parent-child relationship between selected bones and their parents
531
532
 
@@ -533,7 +534,7 @@ def parent_clear(
533
534
  :type execution_context: str | int | None
534
535
  :type undo: bool | None
535
536
  :param type: Clear Type, What way to clear parenting
536
- :type type: str | int | None
537
+ :type type: str | None
537
538
  """
538
539
 
539
540
  ...
@@ -542,7 +543,7 @@ def parent_set(
542
543
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
543
544
  execution_context: str | int | None = None,
544
545
  undo: bool | None = None,
545
- type: str | int | None = "CONNECTED",
546
+ type: str | None = "CONNECTED",
546
547
  ):
547
548
  """Set the active bone as the parent of the selected bones
548
549
 
@@ -550,7 +551,7 @@ def parent_set(
550
551
  :type execution_context: str | int | None
551
552
  :type undo: bool | None
552
553
  :param type: Parent Type, Type of parenting
553
- :type type: str | int | None
554
+ :type type: str | None
554
555
  """
555
556
 
556
557
  ...
@@ -593,7 +594,7 @@ def select_all(
593
594
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
594
595
  execution_context: str | int | None = None,
595
596
  undo: bool | None = None,
596
- action: str | int | None = "TOGGLE",
597
+ action: str | None = "TOGGLE",
597
598
  ):
598
599
  """Toggle selection status of all bones
599
600
 
@@ -613,7 +614,7 @@ def select_all(
613
614
 
614
615
  INVERT
615
616
  Invert -- Invert selection of all elements.
616
- :type action: str | int | None
617
+ :type action: str | None
617
618
  """
618
619
 
619
620
  ...
@@ -622,7 +623,7 @@ def select_hierarchy(
622
623
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
623
624
  execution_context: str | int | None = None,
624
625
  undo: bool | None = None,
625
- direction: str | int | None = "PARENT",
626
+ direction: str | None = "PARENT",
626
627
  extend: bool | typing.Any | None = False,
627
628
  ):
628
629
  """Select immediate parent/children of selected bones
@@ -631,7 +632,7 @@ def select_hierarchy(
631
632
  :type execution_context: str | int | None
632
633
  :type undo: bool | None
633
634
  :param direction: Direction
634
- :type direction: str | int | None
635
+ :type direction: str | None
635
636
  :param extend: Extend, Extend the selection
636
637
  :type extend: bool | typing.Any | None
637
638
  """
@@ -727,7 +728,7 @@ def select_similar(
727
728
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
728
729
  execution_context: str | int | None = None,
729
730
  undo: bool | None = None,
730
- type: str | int | None = "LENGTH",
731
+ type: str | None = "LENGTH",
731
732
  threshold: typing.Any | None = 0.1,
732
733
  ):
733
734
  """Select similar bones by property types
@@ -736,7 +737,7 @@ def select_similar(
736
737
  :type execution_context: str | int | None
737
738
  :type undo: bool | None
738
739
  :param type: Type
739
- :type type: str | int | None
740
+ :type type: str | None
740
741
  :param threshold: Threshold
741
742
  :type threshold: typing.Any | None
742
743
  """
@@ -820,7 +821,7 @@ def symmetrize(
820
821
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
821
822
  execution_context: str | int | None = None,
822
823
  undo: bool | None = None,
823
- direction: str | int | None = "NEGATIVE_X",
824
+ direction: str | None = "NEGATIVE_X",
824
825
  ):
825
826
  """Enforce symmetry, make copies of the selection or use existing
826
827
 
@@ -828,7 +829,7 @@ def symmetrize(
828
829
  :type execution_context: str | int | None
829
830
  :type undo: bool | None
830
831
  :param direction: Direction, Which sides to copy from and to (when both are selected)
831
- :type direction: str | int | None
832
+ :type direction: str | None
832
833
  """
833
834
 
834
835
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -22,7 +23,7 @@ def bundle_install(
22
23
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
23
24
  execution_context: str | int | None = None,
24
25
  undo: bool | None = None,
25
- asset_library_reference: str | int | None = "",
26
+ asset_library_reference: str | None = "",
26
27
  filepath: str | typing.Any = "",
27
28
  hide_props_region: bool | typing.Any | None = True,
28
29
  check_existing: bool | typing.Any | None = True,
@@ -44,8 +45,8 @@ def bundle_install(
44
45
  filter_folder: bool | typing.Any | None = True,
45
46
  filter_blenlib: bool | typing.Any | None = False,
46
47
  filemode: typing.Any | None = 8,
47
- display_type: str | int | None = "DEFAULT",
48
- sort_method: str | int | None = "",
48
+ display_type: str | None = "DEFAULT",
49
+ sort_method: str | None = "",
49
50
  ):
50
51
  """Copy the current .blend file into an Asset Library. Only works on standalone .blend files (i.e. when no other files are referenced)
51
52
 
@@ -53,7 +54,7 @@ def bundle_install(
53
54
  :type execution_context: str | int | None
54
55
  :type undo: bool | None
55
56
  :param asset_library_reference: asset_library_reference
56
- :type asset_library_reference: str | int | None
57
+ :type asset_library_reference: str | None
57
58
  :param filepath: File Path, Path to file
58
59
  :type filepath: str | typing.Any
59
60
  :param hide_props_region: Hide Operator Properties, Collapse the region displaying the operator settings
@@ -109,9 +110,9 @@ def bundle_install(
109
110
 
110
111
  THUMBNAIL
111
112
  Thumbnails -- Display files as thumbnails.
112
- :type display_type: str | int | None
113
+ :type display_type: str | None
113
114
  :param sort_method: File sorting mode
114
- :type sort_method: str | int | None
115
+ :type sort_method: str | None
115
116
  """
116
117
 
117
118
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -183,7 +184,7 @@ def pkg_install_files(
183
184
  files: bpy.types.bpy_prop_collection[bpy.types.OperatorFileListElement]
184
185
  | None = None,
185
186
  filepath: str | typing.Any = "",
186
- repo: str | int | None = "",
187
+ repo: str | None = "",
187
188
  enable_on_install: bool | typing.Any | None = True,
188
189
  url: str | typing.Any = "",
189
190
  ):
@@ -201,7 +202,7 @@ def pkg_install_files(
201
202
  :param filepath: filepath
202
203
  :type filepath: str | typing.Any
203
204
  :param repo: Local Repository, The local repository to install extensions into
204
- :type repo: str | int | None
205
+ :type repo: str | None
205
206
  :param enable_on_install: Enable on Install, Enable after installing
206
207
  :type enable_on_install: bool | typing.Any | None
207
208
  :param url: URL
bpy/ops/boid/__init__.pyi CHANGED
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -8,7 +9,7 @@ def rule_add(
8
9
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
9
10
  execution_context: str | int | None = None,
10
11
  undo: bool | None = None,
11
- type: str | int | None = "GOAL",
12
+ type: str | None = "GOAL",
12
13
  ):
13
14
  """Add a boid rule to the current boid state
14
15
 
@@ -16,7 +17,7 @@ def rule_add(
16
17
  :type execution_context: str | int | None
17
18
  :type undo: bool | None
18
19
  :param type: Type
19
- :type type: str | int | None
20
+ :type type: str | None
20
21
  """
21
22
 
22
23
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -36,7 +37,7 @@ def curve_preset(
36
37
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
37
38
  execution_context: str | int | None = None,
38
39
  undo: bool | None = None,
39
- shape: str | int | None = "SMOOTH",
40
+ shape: str | None = "SMOOTH",
40
41
  ):
41
42
  """Set brush shape
42
43
 
@@ -44,7 +45,7 @@ def curve_preset(
44
45
  :type execution_context: str | int | None
45
46
  :type undo: bool | None
46
47
  :param shape: Mode
47
- :type shape: str | int | None
48
+ :type shape: str | None
48
49
  """
49
50
 
50
51
  ...
@@ -84,7 +85,7 @@ def sculpt_curves_falloff_preset(
84
85
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
85
86
  execution_context: str | int | None = None,
86
87
  undo: bool | None = None,
87
- shape: str | int | None = "SMOOTH",
88
+ shape: str | None = "SMOOTH",
88
89
  ):
89
90
  """Set Curve Falloff Preset
90
91
 
@@ -92,7 +93,7 @@ def sculpt_curves_falloff_preset(
92
93
  :type execution_context: str | int | None
93
94
  :type undo: bool | None
94
95
  :param shape: Mode
95
- :type shape: str | int | None
96
+ :type shape: str | None
96
97
  """
97
98
 
98
99
  ...
@@ -101,8 +102,8 @@ def stencil_control(
101
102
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
102
103
  execution_context: str | int | None = None,
103
104
  undo: bool | None = None,
104
- mode: str | int | None = "TRANSLATION",
105
- texmode: str | int | None = "PRIMARY",
105
+ mode: str | None = "TRANSLATION",
106
+ texmode: str | None = "PRIMARY",
106
107
  ):
107
108
  """Control the stencil brush
108
109
 
@@ -110,9 +111,9 @@ def stencil_control(
110
111
  :type execution_context: str | int | None
111
112
  :type undo: bool | None
112
113
  :param mode: Tool
113
- :type mode: str | int | None
114
+ :type mode: str | None
114
115
  :param texmode: Tool
115
- :type texmode: str | int | None
116
+ :type texmode: str | None
116
117
  """
117
118
 
118
119
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -58,8 +59,8 @@ def directory_browse(
58
59
  filter_blenlib: bool | typing.Any | None = False,
59
60
  filemode: typing.Any | None = 9,
60
61
  relative_path: bool | typing.Any | None = True,
61
- display_type: str | int | None = "DEFAULT",
62
- sort_method: str | int | None = "",
62
+ display_type: str | None = "DEFAULT",
63
+ sort_method: str | None = "",
63
64
  ):
64
65
  """Open a directory browser, hold Shift to open the file, Alt to browse containing directory
65
66
 
@@ -123,9 +124,9 @@ def directory_browse(
123
124
 
124
125
  THUMBNAIL
125
126
  Thumbnails -- Display files as thumbnails.
126
- :type display_type: str | int | None
127
+ :type display_type: str | None
127
128
  :param sort_method: File sorting mode
128
- :type sort_method: str | int | None
129
+ :type sort_method: str | None
129
130
  """
130
131
 
131
132
  ...
@@ -156,8 +157,8 @@ def file_browse(
156
157
  filter_blenlib: bool | typing.Any | None = False,
157
158
  filemode: typing.Any | None = 9,
158
159
  relative_path: bool | typing.Any | None = True,
159
- display_type: str | int | None = "DEFAULT",
160
- sort_method: str | int | None = "",
160
+ display_type: str | None = "DEFAULT",
161
+ sort_method: str | None = "",
161
162
  ):
162
163
  """Open a file browser, hold Shift to open the file, Alt to browse containing directory
163
164
 
@@ -221,9 +222,9 @@ def file_browse(
221
222
 
222
223
  THUMBNAIL
223
224
  Thumbnails -- Display files as thumbnails.
224
- :type display_type: str | int | None
225
+ :type display_type: str | None
225
226
  :param sort_method: File sorting mode
226
- :type sort_method: str | int | None
227
+ :type sort_method: str | None
227
228
  """
228
229
 
229
230
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")
@@ -30,8 +31,8 @@ def layer_add(
30
31
  filter_blenlib: bool | typing.Any | None = False,
31
32
  filemode: typing.Any | None = 8,
32
33
  relative_path: bool | typing.Any | None = True,
33
- display_type: str | int | None = "DEFAULT",
34
- sort_method: str | int | None = "",
34
+ display_type: str | None = "DEFAULT",
35
+ sort_method: str | None = "",
35
36
  ):
36
37
  """Add an override layer to the archive
37
38
 
@@ -95,9 +96,9 @@ def layer_add(
95
96
 
96
97
  THUMBNAIL
97
98
  Thumbnails -- Display files as thumbnails.
98
- :type display_type: str | int | None
99
+ :type display_type: str | None
99
100
  :param sort_method: File sorting mode
100
- :type sort_method: str | int | None
101
+ :type sort_method: str | None
101
102
  """
102
103
 
103
104
  ...
@@ -106,7 +107,7 @@ def layer_move(
106
107
  override_context: dict[str, typing.Any] | bpy.types.Context | None = None,
107
108
  execution_context: str | int | None = None,
108
109
  undo: bool | None = None,
109
- direction: str | int | None = "UP",
110
+ direction: str | None = "UP",
110
111
  ):
111
112
  """Move layer in the list, layers further down the list will overwrite data from the layers higher up
112
113
 
@@ -114,7 +115,7 @@ def layer_move(
114
115
  :type execution_context: str | int | None
115
116
  :type undo: bool | None
116
117
  :param direction: Direction, Direction to move the active vertex group towards
117
- :type direction: str | int | None
118
+ :type direction: str | None
118
119
  """
119
120
 
120
121
  ...
@@ -159,8 +160,8 @@ def open(
159
160
  filter_blenlib: bool | typing.Any | None = False,
160
161
  filemode: typing.Any | None = 8,
161
162
  relative_path: bool | typing.Any | None = True,
162
- display_type: str | int | None = "DEFAULT",
163
- sort_method: str | int | None = "",
163
+ display_type: str | None = "DEFAULT",
164
+ sort_method: str | None = "",
164
165
  ):
165
166
  """Load a cache file
166
167
 
@@ -224,9 +225,9 @@ def open(
224
225
 
225
226
  THUMBNAIL
226
227
  Thumbnails -- Display files as thumbnails.
227
- :type display_type: str | int | None
228
+ :type display_type: str | None
228
229
  :param sort_method: File sorting mode
229
- :type sort_method: str | int | None
230
+ :type sort_method: str | None
230
231
  """
231
232
 
232
233
  ...
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ import collections.abc
2
3
  import bpy.types
3
4
 
4
5
  GenericType1 = typing.TypeVar("GenericType1")