fake-bpy-module 20240803__py3-none-any.whl → 20240804__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 (72) hide show
  1. aud/__init__.pyi +77 -77
  2. bmesh/ops/__init__.pyi +54 -36
  3. bmesh/types/__init__.pyi +24 -24
  4. bpy/ops/action/__init__.pyi +55 -32
  5. bpy/ops/anim/__init__.pyi +22 -22
  6. bpy/ops/armature/__init__.pyi +47 -20
  7. bpy/ops/asset/__init__.pyi +5 -2
  8. bpy/ops/boid/__init__.pyi +12 -2
  9. bpy/ops/brush/__init__.pyi +18 -12
  10. bpy/ops/buttons/__init__.pyi +10 -4
  11. bpy/ops/cachefile/__init__.pyi +12 -6
  12. bpy/ops/clip/__init__.pyi +54 -38
  13. bpy/ops/console/__init__.pyi +17 -6
  14. bpy/ops/constraint/__init__.pyi +28 -28
  15. bpy/ops/curve/__init__.pyi +72 -34
  16. bpy/ops/curves/__init__.pyi +16 -16
  17. bpy/ops/dpaint/__init__.pyi +4 -4
  18. bpy/ops/ed/__init__.pyi +5 -2
  19. bpy/ops/export_anim/__init__.pyi +3 -2
  20. bpy/ops/export_scene/__init__.pyi +55 -45
  21. bpy/ops/file/__init__.pyi +40 -16
  22. bpy/ops/font/__init__.pyi +59 -16
  23. bpy/ops/geometry/__init__.pyi +55 -20
  24. bpy/ops/gpencil/__init__.pyi +155 -122
  25. bpy/ops/graph/__init__.pyi +131 -52
  26. bpy/ops/grease_pencil/__init__.pyi +78 -58
  27. bpy/ops/image/__init__.pyi +77 -54
  28. bpy/ops/import_anim/__init__.pyi +11 -8
  29. bpy/ops/import_scene/__init__.pyi +20 -18
  30. bpy/ops/info/__init__.pyi +4 -4
  31. bpy/ops/lattice/__init__.pyi +8 -8
  32. bpy/ops/marker/__init__.pyi +6 -6
  33. bpy/ops/mask/__init__.pyi +13 -12
  34. bpy/ops/mball/__init__.pyi +6 -6
  35. bpy/ops/mesh/__init__.pyi +290 -150
  36. bpy/ops/nla/__init__.pyi +28 -20
  37. bpy/ops/node/__init__.pyi +43 -32
  38. bpy/ops/object/__init__.pyi +651 -210
  39. bpy/ops/outliner/__init__.pyi +113 -32
  40. bpy/ops/paint/__init__.pyi +65 -56
  41. bpy/ops/palette/__init__.pyi +4 -4
  42. bpy/ops/particle/__init__.pyi +14 -14
  43. bpy/ops/pose/__init__.pyi +121 -44
  44. bpy/ops/preferences/__init__.pyi +9 -6
  45. bpy/ops/render/__init__.pyi +3 -2
  46. bpy/ops/rigidbody/__init__.pyi +45 -14
  47. bpy/ops/scene/__init__.pyi +69 -22
  48. bpy/ops/screen/__init__.pyi +78 -16
  49. bpy/ops/sculpt/__init__.pyi +131 -74
  50. bpy/ops/sculpt_curves/__init__.pyi +2 -2
  51. bpy/ops/sequencer/__init__.pyi +156 -60
  52. bpy/ops/sound/__init__.pyi +40 -16
  53. bpy/ops/surface/__init__.pyi +12 -12
  54. bpy/ops/text/__init__.pyi +65 -20
  55. bpy/ops/texture/__init__.pyi +2 -2
  56. bpy/ops/transform/__init__.pyi +344 -72
  57. bpy/ops/ui/__init__.pyi +9 -6
  58. bpy/ops/uilist/__init__.pyi +2 -2
  59. bpy/ops/uv/__init__.pyi +90 -66
  60. bpy/ops/view3d/__init__.pyi +36 -30
  61. bpy/ops/wm/__init__.pyi +443 -156
  62. bpy/types/__init__.pyi +28064 -2857
  63. {fake_bpy_module-20240803.dist-info → fake_bpy_module-20240804.dist-info}/METADATA +1 -1
  64. {fake_bpy_module-20240803.dist-info → fake_bpy_module-20240804.dist-info}/RECORD +72 -72
  65. freestyle/chainingiterators/__init__.pyi +4 -4
  66. freestyle/types/__init__.pyi +76 -63
  67. idprop/types/__init__.pyi +2 -2
  68. imbuf/types/__init__.pyi +2 -2
  69. mathutils/__init__.pyi +1004 -970
  70. mathutils/bvhtree/__init__.pyi +2 -2
  71. {fake_bpy_module-20240803.dist-info → fake_bpy_module-20240804.dist-info}/WHEEL +0 -0
  72. {fake_bpy_module-20240803.dist-info → fake_bpy_module-20240804.dist-info}/top_level.txt +0 -0
bmesh/ops/__init__.pyi CHANGED
@@ -41,7 +41,7 @@ def beautify_fill(
41
41
  faces: list[bmesh.types.BMFace] = [],
42
42
  edges: list[bmesh.types.BMEdge] = [],
43
43
  use_restrict_tag: bool = False,
44
- method: str = "AREA",
44
+ method: typing.Literal["AREA", "ANGLE"] = "AREA",
45
45
  ) -> dict[str, typing.Any]:
46
46
  """Beautify Fill.Rotate edges to create more evenly spaced triangles.
47
47
 
@@ -54,7 +54,7 @@ def beautify_fill(
54
54
  :param use_restrict_tag: restrict edge rotation to mixed tagged vertices
55
55
  :type use_restrict_tag: bool
56
56
  :param method: method to define what is beautiful
57
- :type method: str
57
+ :type method: typing.Literal['AREA','ANGLE']
58
58
  :return: geom: new flipped faces and edges
59
59
 
60
60
  type list of (`bmesh.types.BMVert`, `bmesh.types.BMEdge`, `bmesh.types.BMFace`)
@@ -69,23 +69,25 @@ def bevel(
69
69
  | list[bmesh.types.BMFace]
70
70
  | list[bmesh.types.BMVert] = [],
71
71
  offset: float = 0,
72
- offset_type: str = "OFFSET",
73
- profile_type: str = "SUPERELLIPSE",
72
+ offset_type: typing.Literal[
73
+ "OFFSET", "WIDTH", "DEPTH", "PERCENT", "ABSOLUTE"
74
+ ] = "OFFSET",
75
+ profile_type: typing.Literal["SUPERELLIPSE", "CUSTOM"] = "SUPERELLIPSE",
74
76
  segments: int = 0,
75
77
  profile: float = 0,
76
- affect: str = "VERTICES",
78
+ affect: typing.Literal["VERTICES", "EDGES"] = "VERTICES",
77
79
  clamp_overlap: bool = False,
78
80
  material: int = 0,
79
81
  loop_slide: bool = False,
80
82
  mark_seam: bool = False,
81
83
  mark_sharp: bool = False,
82
84
  harden_normals: bool = False,
83
- face_strength_mode: str = "NONE",
84
- miter_outer: str = "SHARP",
85
- miter_inner: str = "SHARP",
85
+ face_strength_mode: typing.Literal["NONE", "NEW", "AFFECTED", "ALL"] = "NONE",
86
+ miter_outer: typing.Literal["SHARP", "PATCH", "ARC"] = "SHARP",
87
+ miter_inner: typing.Literal["SHARP", "PATCH", "ARC"] = "SHARP",
86
88
  spread: float = 0,
87
89
  custom_profile: bpy.types.bpy_struct = None,
88
- vmesh_method: str = "ADJ",
90
+ vmesh_method: typing.Literal["ADJ", "CUTOFF"] = "ADJ",
89
91
  ) -> dict[str, typing.Any]:
90
92
  """Bevel.Bevels edges and vertices
91
93
 
@@ -96,15 +98,15 @@ def bevel(
96
98
  :param offset: amount to offset beveled edge
97
99
  :type offset: float
98
100
  :param offset_type: how to measure the offset
99
- :type offset_type: str
101
+ :type offset_type: typing.Literal['OFFSET','WIDTH','DEPTH','PERCENT','ABSOLUTE']
100
102
  :param profile_type: The profile type to use for bevel.
101
- :type profile_type: str
103
+ :type profile_type: typing.Literal['SUPERELLIPSE','CUSTOM']
102
104
  :param segments: number of segments in bevel
103
105
  :type segments: int
104
106
  :param profile: profile shape, 0->1 (.5=>round)
105
107
  :type profile: float
106
108
  :param affect: Whether to bevel vertices or edges.
107
- :type affect: str
109
+ :type affect: typing.Literal['VERTICES','EDGES']
108
110
  :param clamp_overlap: do not allow beveled edges/vertices to overlap each other
109
111
  :type clamp_overlap: bool
110
112
  :param material: material for bevel faces, -1 means get from adjacent faces
@@ -118,17 +120,17 @@ def bevel(
118
120
  :param harden_normals: harden normals
119
121
  :type harden_normals: bool
120
122
  :param face_strength_mode: whether to set face strength, and which faces to set if so
121
- :type face_strength_mode: str
123
+ :type face_strength_mode: typing.Literal['NONE','NEW','AFFECTED','ALL']
122
124
  :param miter_outer: outer miter kind
123
- :type miter_outer: str
125
+ :type miter_outer: typing.Literal['SHARP','PATCH','ARC']
124
126
  :param miter_inner: outer miter kind
125
- :type miter_inner: str
127
+ :type miter_inner: typing.Literal['SHARP','PATCH','ARC']
126
128
  :param spread: amount to offset beveled edge
127
129
  :type spread: float
128
130
  :param custom_profile: CurveProfile, if None ignored
129
131
  :type custom_profile: bpy.types.bpy_struct
130
132
  :param vmesh_method: The method to use to create meshes at intersections.
131
- :type vmesh_method: str
133
+ :type vmesh_method: typing.Literal['ADJ','CUTOFF']
132
134
  :return: faces: output faces
133
135
 
134
136
  type list of (`bmesh.types.BMFace`)
@@ -690,7 +692,15 @@ def delete(
690
692
  geom: list[bmesh.types.BMEdge]
691
693
  | list[bmesh.types.BMFace]
692
694
  | list[bmesh.types.BMVert] = [],
693
- context: str = "VERTS",
695
+ context: typing.Literal[
696
+ "VERTS",
697
+ "EDGES",
698
+ "FACES_ONLY",
699
+ "EDGES_FACES",
700
+ "FACES",
701
+ "FACES_KEEP_BOUNDARY",
702
+ "TAGGED_ONLY",
703
+ ] = "VERTS",
694
704
  ):
695
705
  """Delete Geometry.Utility operator to delete geometry.
696
706
 
@@ -699,7 +709,7 @@ def delete(
699
709
  :param geom: input geometry
700
710
  :type geom: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
701
711
  :param context: geometry types to delete
702
- :type context: str
712
+ :type context: typing.Literal['VERTS','EDGES','FACES_ONLY','EDGES_FACES','FACES','FACES_KEEP_BOUNDARY','TAGGED_ONLY']
703
713
  """
704
714
 
705
715
  ...
@@ -1299,7 +1309,7 @@ def mirror(
1299
1309
  matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
1300
1310
  | mathutils.Matrix = mathutils.Matrix.Identity(4),
1301
1311
  merge_dist: float = 0,
1302
- axis: str = "X",
1312
+ axis: typing.Literal["X", "Y", "Z"] = "X",
1303
1313
  mirror_u: bool = False,
1304
1314
  mirror_v: bool = False,
1305
1315
  mirror_udim: bool = False,
@@ -1318,7 +1328,7 @@ def mirror(
1318
1328
  :param merge_dist: maximum distance for merging. does no merging if 0.
1319
1329
  :type merge_dist: float
1320
1330
  :param axis: the axis to use.
1321
- :type axis: str
1331
+ :type axis: typing.Literal['X','Y','Z']
1322
1332
  :param mirror_u: mirror UVs across the u axis
1323
1333
  :type mirror_u: bool
1324
1334
  :param mirror_v: mirror UVs across the v axis
@@ -1434,7 +1444,7 @@ def poke(
1434
1444
  bm: bmesh.types.BMesh,
1435
1445
  faces: list[bmesh.types.BMFace] = [],
1436
1446
  offset: float = 0,
1437
- center_mode: str = "MEAN_WEIGHTED",
1447
+ center_mode: typing.Literal["MEAN_WEIGHTED", "MEAN", "BOUNDS"] = "MEAN_WEIGHTED",
1438
1448
  use_relative_offset: bool = False,
1439
1449
  ) -> dict[str, typing.Any]:
1440
1450
  """Pokes a face.Splits a face into a triangle fan.
@@ -1446,7 +1456,7 @@ def poke(
1446
1456
  :param offset: center vertex offset along normal
1447
1457
  :type offset: float
1448
1458
  :param center_mode: calculation mode for center vertex
1449
- :type center_mode: str
1459
+ :type center_mode: typing.Literal['MEAN_WEIGHTED','MEAN','BOUNDS']
1450
1460
  :param use_relative_offset: apply offset
1451
1461
  :type use_relative_offset: bool
1452
1462
  :return: verts: output verts
@@ -1876,10 +1886,12 @@ def split_edges(
1876
1886
  def subdivide_edgering(
1877
1887
  bm: bmesh.types.BMesh,
1878
1888
  edges: list[bmesh.types.BMEdge] = [],
1879
- interp_mode: str = "LINEAR",
1889
+ interp_mode: typing.Literal["LINEAR", "PATH", "SURFACE"] = "LINEAR",
1880
1890
  smooth: float = 0,
1881
1891
  cuts: int = 0,
1882
- profile_shape: str = "SMOOTH",
1892
+ profile_shape: typing.Literal[
1893
+ "SMOOTH", "SPHERE", "ROOT", "SHARP", "LINEAR", "INVERSE_SQUARE"
1894
+ ] = "SMOOTH",
1883
1895
  profile_shape_factor: float = 0,
1884
1896
  ) -> dict[str, typing.Any]:
1885
1897
  """Subdivide Edge-Ring.Take an edge-ring, and subdivide with interpolation options.
@@ -1889,13 +1901,13 @@ def subdivide_edgering(
1889
1901
  :param edges: input vertices
1890
1902
  :type edges: list[bmesh.types.BMEdge]
1891
1903
  :param interp_mode: interpolation method
1892
- :type interp_mode: str
1904
+ :type interp_mode: typing.Literal['LINEAR','PATH','SURFACE']
1893
1905
  :param smooth: smoothness factor
1894
1906
  :type smooth: float
1895
1907
  :param cuts: number of cuts
1896
1908
  :type cuts: int
1897
1909
  :param profile_shape: profile shape type
1898
- :type profile_shape: str
1910
+ :type profile_shape: typing.Literal['SMOOTH','SPHERE','ROOT','SHARP','LINEAR','INVERSE_SQUARE']
1899
1911
  :param profile_shape_factor: how much intermediary new edges are shrunk/expanded
1900
1912
  :type profile_shape_factor: float
1901
1913
  :return: faces: output faces
@@ -1910,14 +1922,18 @@ def subdivide_edges(
1910
1922
  bm: bmesh.types.BMesh,
1911
1923
  edges: list[bmesh.types.BMEdge] = [],
1912
1924
  smooth: float = 0,
1913
- smooth_falloff: str = "SMOOTH",
1925
+ smooth_falloff: typing.Literal[
1926
+ "SMOOTH", "SPHERE", "ROOT", "SHARP", "LINEAR", "INVERSE_SQUARE"
1927
+ ] = "SMOOTH",
1914
1928
  fractal: float = 0,
1915
1929
  along_normal: float = 0,
1916
1930
  cuts: int = 0,
1917
1931
  seed: int = 0,
1918
1932
  custom_patterns={},
1919
1933
  edge_percents={},
1920
- quad_corner_type: str = "STRAIGHT_CUT",
1934
+ quad_corner_type: typing.Literal[
1935
+ "STRAIGHT_CUT", "INNER_VERT", "PATH", "FAN"
1936
+ ] = "STRAIGHT_CUT",
1921
1937
  use_grid_fill: bool = False,
1922
1938
  use_single_edge: bool = False,
1923
1939
  use_only_quads: bool = False,
@@ -1934,7 +1950,7 @@ def subdivide_edges(
1934
1950
  :param smooth: smoothness factor
1935
1951
  :type smooth: float
1936
1952
  :param smooth_falloff: smooth falloff type
1937
- :type smooth_falloff: str
1953
+ :type smooth_falloff: typing.Literal['SMOOTH','SPHERE','ROOT','SHARP','LINEAR','INVERSE_SQUARE']
1938
1954
  :param fractal: fractal randomness factor
1939
1955
  :type fractal: float
1940
1956
  :param along_normal: apply fractal displacement along normal only
@@ -1946,7 +1962,7 @@ def subdivide_edges(
1946
1962
  :param custom_patterns: uses custom pointers
1947
1963
  :param edge_percents: Undocumented.
1948
1964
  :param quad_corner_type: quad corner type
1949
- :type quad_corner_type: str
1965
+ :type quad_corner_type: typing.Literal['STRAIGHT_CUT','INNER_VERT','PATH','FAN']
1950
1966
  :param use_grid_fill: fill in fully-selected faces with a grid
1951
1967
  :type use_grid_fill: bool
1952
1968
  :param use_single_edge: tessellate the case of one edge selected in a quad or triangle
@@ -1978,7 +1994,7 @@ def symmetrize(
1978
1994
  input: list[bmesh.types.BMEdge]
1979
1995
  | list[bmesh.types.BMFace]
1980
1996
  | list[bmesh.types.BMVert] = [],
1981
- direction: str = "-X",
1997
+ direction: typing.Literal["-X", "-Y", "-Z", "X", "Y", "Z"] = "-X",
1982
1998
  dist: float = 0,
1983
1999
  use_shapekey: bool = False,
1984
2000
  ) -> dict[str, typing.Any]:
@@ -1992,7 +2008,7 @@ def symmetrize(
1992
2008
  :param input: input geometry
1993
2009
  :type input: list[bmesh.types.BMEdge] | list[bmesh.types.BMFace] | list[bmesh.types.BMVert]
1994
2010
  :param direction: axis to use
1995
- :type direction: str
2011
+ :type direction: typing.Literal['-X','-Y','-Z','X','Y','Z']
1996
2012
  :param dist: minimum distance
1997
2013
  :type dist: float
1998
2014
  :param use_shapekey: Transform shape keys too.
@@ -2085,8 +2101,10 @@ def triangle_fill(
2085
2101
  def triangulate(
2086
2102
  bm: bmesh.types.BMesh,
2087
2103
  faces: list[bmesh.types.BMFace] = [],
2088
- quad_method: str = "BEAUTY",
2089
- ngon_method: str = "BEAUTY",
2104
+ quad_method: typing.Literal[
2105
+ "BEAUTY", "FIXED", "ALTERNATE", "SHORT_EDGE", "LONG_EDGE"
2106
+ ] = "BEAUTY",
2107
+ ngon_method: typing.Literal["BEAUTY", "EAR_CLIP"] = "BEAUTY",
2090
2108
  ) -> dict[str, typing.Any]:
2091
2109
  """Triangulate.
2092
2110
 
@@ -2095,9 +2113,9 @@ def triangulate(
2095
2113
  :param faces: input faces
2096
2114
  :type faces: list[bmesh.types.BMFace]
2097
2115
  :param quad_method: method for splitting the quads into triangles
2098
- :type quad_method: str
2116
+ :type quad_method: typing.Literal['BEAUTY','FIXED','ALTERNATE','SHORT_EDGE','LONG_EDGE']
2099
2117
  :param ngon_method: method for splitting the polygons into triangles
2100
- :type ngon_method: str
2118
+ :type ngon_method: typing.Literal['BEAUTY','EAR_CLIP']
2101
2119
  :return: edges:
2102
2120
 
2103
2121
  type list of (`bmesh.types.BMEdge`)
bmesh/types/__init__.pyi CHANGED
@@ -204,11 +204,11 @@ class BMEdge:
204
204
  """
205
205
  ...
206
206
 
207
- def copy_from(self, other: typing.Self):
207
+ def copy_from(self, other: typing_extensions.Self):
208
208
  """Copy values from another element of matching type.
209
209
 
210
210
  :param other:
211
- :type other: typing.Self
211
+ :type other: typing_extensions.Self
212
212
  """
213
213
  ...
214
214
 
@@ -595,7 +595,7 @@ class BMFace:
595
595
  """
596
596
  ...
597
597
 
598
- def copy(self, verts: bool = True, edges: bool = True) -> typing.Self:
598
+ def copy(self, verts: bool = True, edges: bool = True) -> typing_extensions.Self:
599
599
  """Make a copy of this face.
600
600
 
601
601
  :param verts: When set, the faces verts will be duplicated too.
@@ -603,23 +603,23 @@ class BMFace:
603
603
  :param edges: When set, the faces edges will be duplicated too.
604
604
  :type edges: bool
605
605
  :return: The newly created face.
606
- :rtype: typing.Self
606
+ :rtype: typing_extensions.Self
607
607
  """
608
608
  ...
609
609
 
610
- def copy_from(self, other: typing.Self):
610
+ def copy_from(self, other: typing_extensions.Self):
611
611
  """Copy values from another element of matching type.
612
612
 
613
613
  :param other:
614
- :type other: typing.Self
614
+ :type other: typing_extensions.Self
615
615
  """
616
616
  ...
617
617
 
618
- def copy_from_face_interp(self, face: typing.Self, vert: bool = True):
618
+ def copy_from_face_interp(self, face: typing_extensions.Self, vert: bool = True):
619
619
  """Interpolate the customdata from another face onto this one (faces should overlap).
620
620
 
621
621
  :param face: The face to interpolate data from.
622
- :type face: typing.Self
622
+ :type face: typing_extensions.Self
623
623
  :param vert: When True, also copy vertex data.
624
624
  :type vert: bool
625
625
  """
@@ -1085,11 +1085,11 @@ class BMLayerItem:
1085
1085
  :type: str
1086
1086
  """
1087
1087
 
1088
- def copy_from(self, other: typing.Self):
1088
+ def copy_from(self, other: typing_extensions.Self):
1089
1089
  """Return a copy of the layer
1090
1090
 
1091
1091
  :param other: Another layer to copy from.
1092
- :type other: typing.Self
1092
+ :type other: typing_extensions.Self
1093
1093
  """
1094
1094
  ...
1095
1095
 
@@ -1126,28 +1126,28 @@ class BMLoop:
1126
1126
  :type: bool
1127
1127
  """
1128
1128
 
1129
- link_loop_next: typing.Self
1129
+ link_loop_next: typing_extensions.Self
1130
1130
  """ The next face corner (read-only).
1131
1131
 
1132
- :type: typing.Self
1132
+ :type: typing_extensions.Self
1133
1133
  """
1134
1134
 
1135
- link_loop_prev: typing.Self
1135
+ link_loop_prev: typing_extensions.Self
1136
1136
  """ The previous face corner (read-only).
1137
1137
 
1138
- :type: typing.Self
1138
+ :type: typing_extensions.Self
1139
1139
  """
1140
1140
 
1141
- link_loop_radial_next: typing.Self
1141
+ link_loop_radial_next: typing_extensions.Self
1142
1142
  """ The next loop around the edge (read-only).
1143
1143
 
1144
- :type: typing.Self
1144
+ :type: typing_extensions.Self
1145
1145
  """
1146
1146
 
1147
- link_loop_radial_prev: typing.Self
1147
+ link_loop_radial_prev: typing_extensions.Self
1148
1148
  """ The previous loop around the edge (read-only).
1149
1149
 
1150
- :type: typing.Self
1150
+ :type: typing_extensions.Self
1151
1151
  """
1152
1152
 
1153
1153
  link_loops: BMElemSeq[BMLoop]
@@ -1195,11 +1195,11 @@ class BMLoop:
1195
1195
  """
1196
1196
  ...
1197
1197
 
1198
- def copy_from(self, other: typing.Self):
1198
+ def copy_from(self, other: typing_extensions.Self):
1199
1199
  """Copy values from another element of matching type.
1200
1200
 
1201
1201
  :param other:
1202
- :type other: typing.Self
1202
+ :type other: typing_extensions.Self
1203
1203
  """
1204
1204
  ...
1205
1205
 
@@ -1379,11 +1379,11 @@ class BMVert:
1379
1379
  """
1380
1380
  ...
1381
1381
 
1382
- def copy_from(self, other: typing.Self):
1382
+ def copy_from(self, other: typing_extensions.Self):
1383
1383
  """Copy values from another element of matching type.
1384
1384
 
1385
1385
  :param other:
1386
- :type other: typing.Self
1386
+ :type other: typing_extensions.Self
1387
1387
  """
1388
1388
  ...
1389
1389
 
@@ -1617,11 +1617,11 @@ class BMesh:
1617
1617
  """Clear all mesh data."""
1618
1618
  ...
1619
1619
 
1620
- def copy(self) -> typing.Self:
1620
+ def copy(self) -> typing_extensions.Self:
1621
1621
  """
1622
1622
 
1623
1623
  :return: A copy of this BMesh.
1624
- :rtype: typing.Self
1624
+ :rtype: typing_extensions.Self
1625
1625
  """
1626
1626
  ...
1627
1627