pyedb 0.50.0__py3-none-any.whl → 0.50.1__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 pyedb might be problematic. Click here for more details.

Files changed (62) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/dotnet/database/cell/hierarchy/component.py +3 -3
  3. pyedb/dotnet/database/edb_data/padstacks_data.py +13 -0
  4. pyedb/grpc/database/components.py +494 -652
  5. pyedb/grpc/database/control_file.py +458 -149
  6. pyedb/grpc/database/definition/component_def.py +17 -14
  7. pyedb/grpc/database/definition/materials.py +27 -27
  8. pyedb/grpc/database/definition/package_def.py +8 -8
  9. pyedb/grpc/database/definition/padstack_def.py +31 -33
  10. pyedb/grpc/database/geometry/arc_data.py +5 -5
  11. pyedb/grpc/database/geometry/point_3d_data.py +3 -3
  12. pyedb/grpc/database/geometry/polygon_data.py +5 -5
  13. pyedb/grpc/database/hfss.py +397 -395
  14. pyedb/grpc/database/hierarchy/component.py +58 -57
  15. pyedb/grpc/database/hierarchy/pin_pair_model.py +6 -6
  16. pyedb/grpc/database/hierarchy/pingroup.py +13 -11
  17. pyedb/grpc/database/hierarchy/s_parameter_model.py +1 -1
  18. pyedb/grpc/database/hierarchy/spice_model.py +1 -1
  19. pyedb/grpc/database/layers/layer.py +2 -2
  20. pyedb/grpc/database/layers/stackup_layer.py +26 -23
  21. pyedb/grpc/database/layout/layout.py +12 -12
  22. pyedb/grpc/database/layout/voltage_regulator.py +8 -8
  23. pyedb/grpc/database/modeler.py +248 -245
  24. pyedb/grpc/database/net/differential_pair.py +4 -4
  25. pyedb/grpc/database/net/extended_net.py +7 -8
  26. pyedb/grpc/database/net/net.py +57 -46
  27. pyedb/grpc/database/nets.py +139 -122
  28. pyedb/grpc/database/padstacks.py +174 -190
  29. pyedb/grpc/database/ports/ports.py +23 -17
  30. pyedb/grpc/database/primitive/padstack_instance.py +45 -30
  31. pyedb/grpc/database/primitive/path.py +6 -6
  32. pyedb/grpc/database/primitive/polygon.py +9 -9
  33. pyedb/grpc/database/primitive/primitive.py +21 -21
  34. pyedb/grpc/database/primitive/rectangle.py +1 -1
  35. pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +1 -1
  36. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
  37. pyedb/grpc/database/simulation_setup/hfss_settings_options.py +1 -1
  38. pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +6 -6
  39. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +2 -2
  40. pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +2 -2
  41. pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +1 -1
  42. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +3 -3
  43. pyedb/grpc/database/siwave.py +166 -214
  44. pyedb/grpc/database/stackup.py +365 -292
  45. pyedb/grpc/database/terminal/bundle_terminal.py +12 -12
  46. pyedb/grpc/database/terminal/edge_terminal.py +6 -5
  47. pyedb/grpc/database/terminal/padstack_instance_terminal.py +13 -13
  48. pyedb/grpc/database/terminal/pingroup_terminal.py +12 -12
  49. pyedb/grpc/database/terminal/point_terminal.py +6 -6
  50. pyedb/grpc/database/terminal/terminal.py +26 -26
  51. pyedb/grpc/database/utility/heat_sink.py +5 -5
  52. pyedb/grpc/database/utility/hfss_extent_info.py +21 -21
  53. pyedb/grpc/database/utility/layout_statistics.py +13 -13
  54. pyedb/grpc/database/utility/rlc.py +3 -3
  55. pyedb/grpc/database/utility/sources.py +1 -1
  56. pyedb/grpc/database/utility/sweep_data_distribution.py +1 -1
  57. pyedb/grpc/edb.py +422 -672
  58. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/METADATA +1 -1
  59. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/RECORD +61 -62
  60. pyedb/grpc/database/utility/simulation_configuration.py +0 -3305
  61. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/LICENSE +0 -0
  62. {pyedb-0.50.0.dist-info → pyedb-0.50.1.dist-info}/WHEEL +0 -0
@@ -48,7 +48,7 @@ class StackupLayer(GrpcStackupLayer):
48
48
  }
49
49
 
50
50
  @property
51
- def type(self):
51
+ def type(self) -> str:
52
52
  """Layer type.
53
53
 
54
54
  Returns
@@ -139,7 +139,7 @@ class StackupLayer(GrpcStackupLayer):
139
139
  )
140
140
 
141
141
  @property
142
- def lower_elevation(self):
142
+ def lower_elevation(self) -> float:
143
143
  """Lower elevation.
144
144
 
145
145
  Returns
@@ -155,7 +155,7 @@ class StackupLayer(GrpcStackupLayer):
155
155
  super(StackupLayer, self.__class__).lower_elevation.__set__(self, GrpcValue(value))
156
156
 
157
157
  @property
158
- def fill_material(self):
158
+ def fill_material(self) -> str:
159
159
  """The layer's fill material.
160
160
 
161
161
  Returns
@@ -172,7 +172,7 @@ class StackupLayer(GrpcStackupLayer):
172
172
  self.set_fill_material(value)
173
173
 
174
174
  @property
175
- def upper_elevation(self):
175
+ def upper_elevation(self) -> float:
176
176
  """Upper elevation.
177
177
 
178
178
  Returns
@@ -183,7 +183,7 @@ class StackupLayer(GrpcStackupLayer):
183
183
  return round(super().upper_elevation.value, 9)
184
184
 
185
185
  @property
186
- def is_negative(self):
186
+ def is_negative(self) -> bool:
187
187
  """Determine whether this layer is a negative layer.
188
188
 
189
189
  Returns
@@ -205,7 +205,7 @@ class StackupLayer(GrpcStackupLayer):
205
205
  self.negative = value
206
206
 
207
207
  @property
208
- def is_stackup_layer(self):
208
+ def is_stackup_layer(self) -> bool:
209
209
  """Testing if layer is stackup layer.
210
210
 
211
211
  Returns
@@ -217,7 +217,7 @@ class StackupLayer(GrpcStackupLayer):
217
217
  return False
218
218
 
219
219
  @property
220
- def material(self):
220
+ def material(self) -> str:
221
221
  """Material.
222
222
 
223
223
  Returns
@@ -232,7 +232,7 @@ class StackupLayer(GrpcStackupLayer):
232
232
  self.set_material(name)
233
233
 
234
234
  @property
235
- def conductivity(self):
235
+ def conductivity(self) -> float:
236
236
  """Material conductivity.
237
237
 
238
238
  Returns
@@ -246,7 +246,7 @@ class StackupLayer(GrpcStackupLayer):
246
246
  return None
247
247
 
248
248
  @property
249
- def permittivity(self):
249
+ def permittivity(self) -> float:
250
250
  """Material permittivity.
251
251
 
252
252
  Returns
@@ -260,7 +260,7 @@ class StackupLayer(GrpcStackupLayer):
260
260
  return None
261
261
 
262
262
  @property
263
- def loss_tangent(self):
263
+ def loss_tangent(self) -> float:
264
264
  """Material loss_tangent.
265
265
 
266
266
  Returns
@@ -274,7 +274,7 @@ class StackupLayer(GrpcStackupLayer):
274
274
  return None
275
275
 
276
276
  @property
277
- def dielectric_fill(self):
277
+ def dielectric_fill(self) -> str:
278
278
  """Material name of the layer dielectric fill.
279
279
 
280
280
  Returns
@@ -295,7 +295,7 @@ class StackupLayer(GrpcStackupLayer):
295
295
  pass
296
296
 
297
297
  @property
298
- def thickness(self):
298
+ def thickness(self) -> float:
299
299
  """Layer thickness.
300
300
 
301
301
  Returns
@@ -310,7 +310,7 @@ class StackupLayer(GrpcStackupLayer):
310
310
  super(StackupLayer, self.__class__).thickness.__set__(self, GrpcValue(value))
311
311
 
312
312
  @property
313
- def etch_factor(self):
313
+ def etch_factor(self) -> float:
314
314
  """Layer etching factor.
315
315
 
316
316
  Returns
@@ -329,7 +329,7 @@ class StackupLayer(GrpcStackupLayer):
329
329
  super(StackupLayer, self.__class__).etch_factor.__set__(self, GrpcValue(value))
330
330
 
331
331
  @property
332
- def top_hallhuray_nodule_radius(self):
332
+ def top_hallhuray_nodule_radius(self) -> float:
333
333
  """Huray model nodule radius on layer top.
334
334
 
335
335
  Returns
@@ -357,7 +357,7 @@ class StackupLayer(GrpcStackupLayer):
357
357
  pass
358
358
 
359
359
  @property
360
- def top_hallhuray_surface_ratio(self):
360
+ def top_hallhuray_surface_ratio(self) -> float:
361
361
  """Huray model surface ratio on layer top.
362
362
 
363
363
  Returns
@@ -385,7 +385,7 @@ class StackupLayer(GrpcStackupLayer):
385
385
  pass
386
386
 
387
387
  @property
388
- def bottom_hallhuray_nodule_radius(self):
388
+ def bottom_hallhuray_nodule_radius(self) -> float:
389
389
  """Huray model nodule radius on layer bottom.
390
390
 
391
391
  Returns
@@ -413,7 +413,7 @@ class StackupLayer(GrpcStackupLayer):
413
413
  pass
414
414
 
415
415
  @property
416
- def bottom_hallhuray_surface_ratio(self):
416
+ def bottom_hallhuray_surface_ratio(self) -> float:
417
417
  """Huray model surface ratio on layer bottom.
418
418
 
419
419
  Returns
@@ -441,7 +441,7 @@ class StackupLayer(GrpcStackupLayer):
441
441
  pass
442
442
 
443
443
  @property
444
- def side_hallhuray_nodule_radius(self):
444
+ def side_hallhuray_nodule_radius(self) -> float:
445
445
  """Huray model nodule radius on layer sides.
446
446
 
447
447
  Returns
@@ -469,7 +469,7 @@ class StackupLayer(GrpcStackupLayer):
469
469
  pass
470
470
 
471
471
  @property
472
- def side_hallhuray_surface_ratio(self):
472
+ def side_hallhuray_surface_ratio(self) -> float:
473
473
  """Huray model surface ratio on layer sides.
474
474
 
475
475
  Returns
@@ -496,7 +496,7 @@ class StackupLayer(GrpcStackupLayer):
496
496
  pass
497
497
 
498
498
  @property
499
- def top_groisse_roughness(self):
499
+ def top_groisse_roughness(self) -> float:
500
500
  """Groisse model on layer top.
501
501
 
502
502
  Returns
@@ -524,7 +524,7 @@ class StackupLayer(GrpcStackupLayer):
524
524
  pass
525
525
 
526
526
  @property
527
- def bottom_groisse_roughness(self):
527
+ def bottom_groisse_roughness(self) -> float:
528
528
  """Groisse model on layer bottom.
529
529
 
530
530
  Returns
@@ -552,7 +552,7 @@ class StackupLayer(GrpcStackupLayer):
552
552
  pass
553
553
 
554
554
  @property
555
- def side_groisse_roughness(self):
555
+ def side_groisse_roughness(self) -> float:
556
556
  """Groisse model on layer bottom.
557
557
 
558
558
  Returns
@@ -586,7 +586,7 @@ class StackupLayer(GrpcStackupLayer):
586
586
  huray_surface_ratio="2.9",
587
587
  groisse_roughness="1um",
588
588
  apply_on_surface="all",
589
- ):
589
+ ) -> bool:
590
590
  """Assign roughness model on this layer.
591
591
 
592
592
  Parameters
@@ -603,6 +603,9 @@ class StackupLayer(GrpcStackupLayer):
603
603
  Where to assign roughness model. The default is ``"all"``. Options are ``"top"``, ``"bottom"``,
604
604
  ``"side"``.
605
605
 
606
+ Returns
607
+ -------
608
+ bool
606
609
  """
607
610
  regions = []
608
611
  if apply_on_surface == "all":
@@ -72,7 +72,7 @@ class Layout(GrpcLayout):
72
72
  return self._pedb._active_cell
73
73
 
74
74
  @property
75
- def primitives(self):
75
+ def primitives(self) -> list[any]:
76
76
  prims = []
77
77
  for prim in super().primitives:
78
78
  if isinstance(prim, ansys.edb.core.primitive.path.Path):
@@ -90,7 +90,7 @@ class Layout(GrpcLayout):
90
90
  return prims
91
91
 
92
92
  @property
93
- def terminals(self):
93
+ def terminals(self) -> list[any]:
94
94
  """Get terminals belonging to active layout.
95
95
 
96
96
  Returns
@@ -113,7 +113,7 @@ class Layout(GrpcLayout):
113
113
  return temp
114
114
 
115
115
  @property
116
- def nets(self):
116
+ def nets(self) -> list[Net]:
117
117
  """Nets.
118
118
 
119
119
  Returns
@@ -124,7 +124,7 @@ class Layout(GrpcLayout):
124
124
  return [Net(self._pedb, net) for net in super().nets]
125
125
 
126
126
  @property
127
- def bondwires(self):
127
+ def bondwires(self) -> list[Bondwire]:
128
128
  """Bondwires.
129
129
 
130
130
  Returns
@@ -135,7 +135,7 @@ class Layout(GrpcLayout):
135
135
  return [i for i in self.primitives if i.primitive_type == "bondwire"]
136
136
 
137
137
  @property
138
- def groups(self):
138
+ def groups(self) -> list[Component]:
139
139
  """Groups
140
140
 
141
141
  Returns
@@ -147,7 +147,7 @@ class Layout(GrpcLayout):
147
147
  return [Component(self._pedb, g) for g in self._pedb.active_cell.layout.groups]
148
148
 
149
149
  @property
150
- def pin_groups(self):
150
+ def pin_groups(self) -> list[PinGroup]:
151
151
  """Pin groups.
152
152
 
153
153
  Returns
@@ -159,7 +159,7 @@ class Layout(GrpcLayout):
159
159
  return [PinGroup(self._pedb, i) for i in self._pedb.active_cell.layout.pin_groups]
160
160
 
161
161
  @property
162
- def net_classes(self):
162
+ def net_classes(self) -> list[NetClass]:
163
163
  """Net classes.
164
164
 
165
165
  Returns
@@ -171,7 +171,7 @@ class Layout(GrpcLayout):
171
171
  return [NetClass(self._pedb, i) for i in self._pedb.active_cell.layout.net_classes]
172
172
 
173
173
  @property
174
- def extended_nets(self):
174
+ def extended_nets(self) -> list[ExtendedNet]:
175
175
  """Extended nets.
176
176
 
177
177
  Returns
@@ -183,7 +183,7 @@ class Layout(GrpcLayout):
183
183
  return [ExtendedNet(self._pedb, i) for i in self._pedb.active_cell.layout.extended_nets]
184
184
 
185
185
  @property
186
- def differential_pairs(self):
186
+ def differential_pairs(self) -> list[DifferentialPair]:
187
187
  """Differential pairs.
188
188
 
189
189
  Returns
@@ -195,13 +195,13 @@ class Layout(GrpcLayout):
195
195
  return [DifferentialPair(self._pedb, i) for i in self._pedb.active_cell.layout.differential_pairs]
196
196
 
197
197
  @property
198
- def padstack_instances(self):
198
+ def padstack_instances(self) -> list[PadstackInstance]:
199
199
  """Get all padstack instances in a list."""
200
200
  return [PadstackInstance(self._pedb, i) for i in self._pedb.active_cell.layout.padstack_instances]
201
201
 
202
202
  #
203
203
  @property
204
- def voltage_regulators(self):
204
+ def voltage_regulators(self) -> list[VoltageRegulator]:
205
205
  """Voltage regulators.
206
206
 
207
207
  List[:class:`VoltageRegulator <pyedb.grpc.database.layout.voltage_regulator.VoltageRegulator>`.
@@ -212,7 +212,7 @@ class Layout(GrpcLayout):
212
212
 
213
213
  def find_primitive(
214
214
  self, layer_name: Union[str, list] = None, name: Union[str, list] = None, net_name: Union[str, list] = None
215
- ) -> list:
215
+ ) -> list[any]:
216
216
  """Find a primitive objects by layer name.
217
217
  Parameters
218
218
  ----------
@@ -25,7 +25,7 @@ from ansys.edb.core.layout.voltage_regulator import (
25
25
  )
26
26
  from ansys.edb.core.utility.value import Value as GrpcValue
27
27
 
28
- from pyedb.dotnet.database.edb_data.padstacks_data import EDBPadstackInstance
28
+ from pyedb.grpc.database.primitive.padstack_instance import PadstackInstance
29
29
 
30
30
 
31
31
  class VoltageRegulator(GrpcVoltageRegulator):
@@ -62,7 +62,7 @@ class VoltageRegulator(GrpcVoltageRegulator):
62
62
  self.group = self._pedb.components.instances[value]
63
63
 
64
64
  @property
65
- def load_regulator_current(self):
65
+ def load_regulator_current(self) -> float:
66
66
  """Load regulator current value
67
67
 
68
68
  Returns
@@ -77,7 +77,7 @@ class VoltageRegulator(GrpcVoltageRegulator):
77
77
  self.load_regulation_percent = GrpcValue(value)
78
78
 
79
79
  @property
80
- def load_regulation_percent(self):
80
+ def load_regulation_percent(self) -> float:
81
81
  """Retrieve load regulation percent value.
82
82
 
83
83
  Returns
@@ -92,7 +92,7 @@ class VoltageRegulator(GrpcVoltageRegulator):
92
92
  self.load_regulation_percent = GrpcValue(value)
93
93
 
94
94
  @property
95
- def negative_remote_sense_pin(self):
95
+ def negative_remote_sense_pin(self) -> PadstackInstance:
96
96
  """Retrieve negative remote sense pin.
97
97
 
98
98
  Returns
@@ -107,11 +107,11 @@ class VoltageRegulator(GrpcVoltageRegulator):
107
107
  if isinstance(value, int):
108
108
  if value in self._pedb.padsatcks.instances:
109
109
  self.neg_remote_sense_pin = self._pedb.padsatcks.instances[value]
110
- elif isinstance(value, EDBPadstackInstance):
110
+ elif isinstance(value, PadstackInstance):
111
111
  self.neg_remote_sense_pin = value
112
112
 
113
113
  @property
114
- def positive_remote_sense_pin(self):
114
+ def positive_remote_sense_pin(self) -> PadstackInstance:
115
115
  """Retrieve positive remote sense pin.
116
116
 
117
117
  Returns
@@ -128,13 +128,13 @@ class VoltageRegulator(GrpcVoltageRegulator):
128
128
  self.positive_remote_sense_pin = self._pedb.padsatcks.instances[value]
129
129
  if not self.component:
130
130
  self.component = self._pedb.padsatcks.instances[value].component.name
131
- elif isinstance(value, EDBPadstackInstance):
131
+ elif isinstance(value, PadstackInstance):
132
132
  self.positive_remote_sense_pin = value
133
133
  if not self.component:
134
134
  self.component = value.component.name
135
135
 
136
136
  @property
137
- def voltage(self):
137
+ def voltage(self) -> float:
138
138
  """Retrieve voltage value.
139
139
 
140
140
  Returns