pyedb 0.50.0__py3-none-any.whl → 0.51.2__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 (75) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_ports_sources.py +79 -239
  3. pyedb/configuration/configuration.py +27 -0
  4. pyedb/dotnet/clr_module.py +9 -3
  5. pyedb/dotnet/database/cell/hierarchy/component.py +3 -3
  6. pyedb/dotnet/database/cell/layout.py +10 -1
  7. pyedb/dotnet/database/dotnet/database.py +0 -2
  8. pyedb/dotnet/database/edb_data/padstacks_data.py +13 -0
  9. pyedb/dotnet/database/layout_validation.py +17 -13
  10. pyedb/dotnet/database/modeler.py +0 -1
  11. pyedb/dotnet/edb.py +7 -1
  12. pyedb/generic/design_types.py +183 -62
  13. pyedb/grpc/database/components.py +604 -652
  14. pyedb/grpc/database/control_file.py +597 -155
  15. pyedb/grpc/database/definition/component_def.py +17 -14
  16. pyedb/grpc/database/definition/materials.py +27 -27
  17. pyedb/grpc/database/definition/package_def.py +8 -8
  18. pyedb/grpc/database/definition/padstack_def.py +31 -33
  19. pyedb/grpc/database/definitions.py +36 -2
  20. pyedb/grpc/database/geometry/arc_data.py +5 -5
  21. pyedb/grpc/database/geometry/point_3d_data.py +3 -3
  22. pyedb/grpc/database/geometry/polygon_data.py +5 -5
  23. pyedb/grpc/database/hfss.py +412 -395
  24. pyedb/grpc/database/hierarchy/component.py +67 -58
  25. pyedb/grpc/database/hierarchy/pin_pair_model.py +6 -6
  26. pyedb/grpc/database/hierarchy/pingroup.py +13 -11
  27. pyedb/grpc/database/hierarchy/s_parameter_model.py +1 -1
  28. pyedb/grpc/database/hierarchy/spice_model.py +1 -1
  29. pyedb/grpc/database/layers/layer.py +2 -2
  30. pyedb/grpc/database/layers/stackup_layer.py +26 -23
  31. pyedb/grpc/database/layout/layout.py +12 -12
  32. pyedb/grpc/database/layout/voltage_regulator.py +8 -8
  33. pyedb/grpc/database/layout_validation.py +58 -7
  34. pyedb/grpc/database/modeler.py +248 -245
  35. pyedb/grpc/database/net/differential_pair.py +4 -4
  36. pyedb/grpc/database/net/extended_net.py +7 -8
  37. pyedb/grpc/database/net/net.py +57 -46
  38. pyedb/grpc/database/nets.py +362 -116
  39. pyedb/grpc/database/padstacks.py +259 -178
  40. pyedb/grpc/database/ports/ports.py +23 -17
  41. pyedb/grpc/database/primitive/padstack_instance.py +45 -30
  42. pyedb/grpc/database/primitive/path.py +6 -6
  43. pyedb/grpc/database/primitive/polygon.py +9 -9
  44. pyedb/grpc/database/primitive/primitive.py +21 -21
  45. pyedb/grpc/database/primitive/rectangle.py +1 -1
  46. pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +1 -1
  47. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
  48. pyedb/grpc/database/simulation_setup/hfss_settings_options.py +1 -1
  49. pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +6 -6
  50. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +2 -2
  51. pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +2 -2
  52. pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +1 -1
  53. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +3 -3
  54. pyedb/grpc/database/siwave.py +226 -214
  55. pyedb/grpc/database/source_excitations.py +307 -40
  56. pyedb/grpc/database/stackup.py +461 -283
  57. pyedb/grpc/database/terminal/bundle_terminal.py +12 -12
  58. pyedb/grpc/database/terminal/edge_terminal.py +6 -5
  59. pyedb/grpc/database/terminal/padstack_instance_terminal.py +13 -13
  60. pyedb/grpc/database/terminal/pingroup_terminal.py +12 -12
  61. pyedb/grpc/database/terminal/point_terminal.py +6 -6
  62. pyedb/grpc/database/terminal/terminal.py +26 -26
  63. pyedb/grpc/database/utility/heat_sink.py +5 -5
  64. pyedb/grpc/database/utility/hfss_extent_info.py +21 -21
  65. pyedb/grpc/database/utility/layout_statistics.py +13 -13
  66. pyedb/grpc/database/utility/rlc.py +3 -3
  67. pyedb/grpc/database/utility/sources.py +1 -1
  68. pyedb/grpc/database/utility/sweep_data_distribution.py +1 -1
  69. pyedb/grpc/edb.py +542 -739
  70. pyedb/grpc/edb_init.py +50 -3
  71. {pyedb-0.50.0.dist-info → pyedb-0.51.2.dist-info}/METADATA +1 -1
  72. {pyedb-0.50.0.dist-info → pyedb-0.51.2.dist-info}/RECORD +74 -75
  73. pyedb/grpc/database/utility/simulation_configuration.py +0 -3305
  74. {pyedb-0.50.0.dist-info → pyedb-0.51.2.dist-info}/LICENSE +0 -0
  75. {pyedb-0.50.0.dist-info → pyedb-0.51.2.dist-info}/WHEEL +0 -0
@@ -51,7 +51,7 @@ class Primitive(GrpcPrimitive):
51
51
  self._object_instance = None
52
52
 
53
53
  @property
54
- def type(self):
54
+ def type(self) -> str:
55
55
  """Type of the primitive.
56
56
 
57
57
  Expected output is among ``"Circle"``, ``"Rectangle"``,``"Polygon"``,``"Path"`` or ``"Bondwire"``.
@@ -87,7 +87,7 @@ class Primitive(GrpcPrimitive):
87
87
  return self._object_instance
88
88
 
89
89
  @property
90
- def net_name(self):
90
+ def net_name(self) -> str:
91
91
  """Net name.
92
92
 
93
93
  Returns
@@ -105,7 +105,7 @@ class Primitive(GrpcPrimitive):
105
105
  self.net = self._pedb.nets.nets[value]
106
106
 
107
107
  @property
108
- def layer_name(self):
108
+ def layer_name(self) -> str:
109
109
  """Layer name.
110
110
 
111
111
  Returns
@@ -121,7 +121,7 @@ class Primitive(GrpcPrimitive):
121
121
  self.layer = self._pedb.stackup.layers[value]
122
122
 
123
123
  @property
124
- def voids(self):
124
+ def voids(self) -> list[any]:
125
125
  """Primitive voids.
126
126
 
127
127
  Returns
@@ -132,7 +132,7 @@ class Primitive(GrpcPrimitive):
132
132
  return [Primitive(self._pedb, prim) for prim in super().voids]
133
133
 
134
134
  @property
135
- def aedt_name(self):
135
+ def aedt_name(self) -> str:
136
136
  """Name to be visualized in AEDT.
137
137
 
138
138
  Returns
@@ -174,7 +174,7 @@ class Primitive(GrpcPrimitive):
174
174
  """
175
175
  return self._pedb.get_connected_objects(self.object_instance)
176
176
 
177
- def area(self, include_voids=True):
177
+ def area(self, include_voids=True) -> float:
178
178
  """Return the total area.
179
179
 
180
180
  Parameters
@@ -218,7 +218,7 @@ class Primitive(GrpcPrimitive):
218
218
  return x, y
219
219
 
220
220
  @property
221
- def center(self):
221
+ def center(self) -> list[float]:
222
222
  """Return the primitive bounding box center coordinate.
223
223
 
224
224
  Returns
@@ -230,7 +230,7 @@ class Primitive(GrpcPrimitive):
230
230
  center = self.cast().polygon_data.bounding_circle()[0]
231
231
  return [center.x.value, center.y.value]
232
232
 
233
- def get_connected_object_id_set(self):
233
+ def get_connected_object_id_set(self) -> list[int]:
234
234
  """Produce a list of all geometries physically connected to a given layout object.
235
235
 
236
236
  Returns
@@ -243,7 +243,7 @@ class Primitive(GrpcPrimitive):
243
243
  return [loi.layout_obj.id for loi in layout_inst.get_connected_objects(layout_obj_inst)]
244
244
 
245
245
  @property
246
- def bbox(self):
246
+ def bbox(self) -> list[float]:
247
247
  """Return the primitive bounding box points. Lower left corner, upper right corner.
248
248
 
249
249
  Returns
@@ -299,7 +299,7 @@ class Primitive(GrpcPrimitive):
299
299
  else:
300
300
  return 4
301
301
 
302
- def is_intersecting(self, primitive):
302
+ def is_intersecting(self, primitive) -> bool:
303
303
  """Check if actual primitive and another primitive or polygon data intesects.
304
304
 
305
305
  Parameters
@@ -312,7 +312,7 @@ class Primitive(GrpcPrimitive):
312
312
  """
313
313
  return True if self.intersection_type(primitive) >= 1 else False
314
314
 
315
- def get_closest_point(self, point):
315
+ def get_closest_point(self, point) -> list[float]:
316
316
  """Get the closest point of the primitive to the input data.
317
317
 
318
318
  Parameters
@@ -342,7 +342,7 @@ class Primitive(GrpcPrimitive):
342
342
  return self.polygon_data.arc_data
343
343
 
344
344
  @property
345
- def longest_arc(self):
345
+ def longest_arc(self) -> float:
346
346
  """Longest arc.
347
347
 
348
348
  Returns
@@ -358,7 +358,7 @@ class Primitive(GrpcPrimitive):
358
358
  len = i.length
359
359
  return arc
360
360
 
361
- def subtract(self, primitives):
361
+ def subtract(self, primitives) -> list[any]:
362
362
  """Subtract active primitive with one or more primitives.
363
363
 
364
364
  Parameters
@@ -412,7 +412,7 @@ class Primitive(GrpcPrimitive):
412
412
  continue
413
413
  return new_polys
414
414
 
415
- def intersect(self, primitives):
415
+ def intersect(self, primitives) -> list[any]:
416
416
  """Intersect active primitive with one or more primitives.
417
417
 
418
418
  Parameters
@@ -482,7 +482,7 @@ class Primitive(GrpcPrimitive):
482
482
  prim.delete()
483
483
  return new_polys
484
484
 
485
- def unite(self, primitives):
485
+ def unite(self, primitives) -> list[any]:
486
486
  """Unite active primitive with one or more primitives.
487
487
 
488
488
  Parameters
@@ -535,7 +535,7 @@ class Primitive(GrpcPrimitive):
535
535
  continue
536
536
  return new_polys
537
537
 
538
- def get_closest_arc_midpoint(self, point):
538
+ def get_closest_arc_midpoint(self, point) -> list[float]:
539
539
  """Get the closest arc midpoint of the primitive to the input data.
540
540
 
541
541
  Parameters
@@ -561,7 +561,7 @@ class Primitive(GrpcPrimitive):
561
561
  return [out.x.value, out.y.value]
562
562
 
563
563
  @property
564
- def shortest_arc(self):
564
+ def shortest_arc(self) -> float:
565
565
  """Longest arc.
566
566
 
567
567
  Returns
@@ -577,7 +577,7 @@ class Primitive(GrpcPrimitive):
577
577
  len = i.length
578
578
  return arc
579
579
 
580
- def add_void(self, point_list):
580
+ def add_void(self, point_list) -> bool:
581
581
  """Add a void to current primitive.
582
582
 
583
583
  Parameters
@@ -599,7 +599,7 @@ class Primitive(GrpcPrimitive):
599
599
  void_poly = self._pedb.modeler.create_polygon(_poly, layer_name=self.layer_name, net_name=self.net.name)
600
600
  return self.add_void(void_poly)
601
601
 
602
- def points(self, arc_segments=6):
602
+ def points(self, arc_segments=6) -> tuple[float, float]:
603
603
  """Return the list of points with arcs converted to segments.
604
604
 
605
605
  Parameters
@@ -630,7 +630,7 @@ class Primitive(GrpcPrimitive):
630
630
 
631
631
  return self.polygon_data.points
632
632
 
633
- def expand(self, offset=0.001, tolerance=1e-12, round_corners=True, maximum_corner_extension=0.001):
633
+ def expand(self, offset=0.001, tolerance=1e-12, round_corners=True, maximum_corner_extension=0.001) -> list[any]:
634
634
  """Expand the polygon shape by an absolute value in all direction.
635
635
  Offset can be negative for negative expansion.
636
636
 
@@ -655,7 +655,7 @@ class Primitive(GrpcPrimitive):
655
655
  offset=offset, round_corner=round_corners, max_corner_ext=maximum_corner_extension, tol=tolerance
656
656
  )
657
657
 
658
- def scale(self, factor, center=None):
658
+ def scale(self, factor, center=None) -> bool:
659
659
  """Scales the polygon relative to a center point by a factor.
660
660
 
661
661
  Parameters
@@ -54,7 +54,7 @@ class Rectangle(GrpcRectangle, Primitive):
54
54
  return self.cast().polygon_data
55
55
 
56
56
  @property
57
- def representation_type(self):
57
+ def representation_type(self) -> str:
58
58
  """Representation type.
59
59
 
60
60
  Returns
@@ -33,7 +33,7 @@ class HFSSAdvancedSettings(GrpcHFSSAdvancedSettings):
33
33
  self._pedb = pedb
34
34
 
35
35
  @property
36
- def via_model_type(self):
36
+ def via_model_type(self) -> str:
37
37
  """Via model.
38
38
 
39
39
  Returns
@@ -37,7 +37,7 @@ class HFSSGeneralSettings(GrpcHFSSGeneralSettings):
37
37
  self._pedb = pedb
38
38
 
39
39
  @property
40
- def adaptive_solution_type(self):
40
+ def adaptive_solution_type(self) -> str:
41
41
  """Adaptive solution type.
42
42
 
43
43
  Returns
@@ -40,7 +40,7 @@ class HFSSSettingsOptions(GrpcHFSSSettingsOptions):
40
40
  self._pedb = _pedb
41
41
 
42
42
  @property
43
- def order_basis(self):
43
+ def order_basis(self) -> str:
44
44
  """Order basis name.
45
45
 
46
46
  Returns
@@ -50,7 +50,7 @@ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
50
50
  self._pedb = pedb
51
51
 
52
52
  @property
53
- def advanced(self):
53
+ def advanced(self) -> HFSSAdvancedSettings:
54
54
  """HFSS Advanced settings class.
55
55
 
56
56
 
@@ -62,7 +62,7 @@ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
62
62
  return HFSSAdvancedSettings(self._pedb, self.advanced)
63
63
 
64
64
  @property
65
- def advanced_meshing(self):
65
+ def advanced_meshing(self) -> HFSSAdvancedMeshingSettings:
66
66
  """Advanced meshing class.
67
67
 
68
68
  Returns
@@ -74,7 +74,7 @@ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
74
74
  return HFSSAdvancedMeshingSettings(self._pedb, self.advanced_meshing)
75
75
 
76
76
  @property
77
- def dcr(self):
77
+ def dcr(self) -> HFSSDCRSettings:
78
78
  """Dcr.
79
79
 
80
80
  Returns
@@ -85,7 +85,7 @@ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
85
85
  return HFSSDCRSettings(self._pedb, self.dcr)
86
86
 
87
87
  @property
88
- def general(self):
88
+ def general(self) -> HFSSGeneralSettings:
89
89
  """General settings class.
90
90
 
91
91
  Returns
@@ -96,7 +96,7 @@ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
96
96
  return HFSSGeneralSettings(self._pedb, self.general)
97
97
 
98
98
  @property
99
- def options(self):
99
+ def options(self) -> HFSSSettingsOptions:
100
100
  """HFSS option class.
101
101
 
102
102
  Returns
@@ -107,7 +107,7 @@ class HFSSSimulationSettings(GrpcHFSSSimulationSettings):
107
107
  return HFSSSettingsOptions(self._pedb, self.options)
108
108
 
109
109
  @property
110
- def solver(self):
110
+ def solver(self) -> HFSSSolverSettings:
111
111
  """HFSS solver settings class.
112
112
 
113
113
  Returns
@@ -43,7 +43,7 @@ class HfssSimulationSetup(GrpcHfssSimulationSetup):
43
43
  self._pedb = pedb
44
44
  self._name = name
45
45
 
46
- def set_solution_single_frequency(self, frequency="5GHz", max_num_passes=10, max_delta_s=0.02):
46
+ def set_solution_single_frequency(self, frequency="5GHz", max_num_passes=10, max_delta_s=0.02) -> bool:
47
47
  """Set HFSS single frequency solution.
48
48
  Parameters
49
49
  ----------
@@ -70,7 +70,7 @@ class HfssSimulationSetup(GrpcHfssSimulationSetup):
70
70
  except:
71
71
  return False
72
72
 
73
- def set_solution_multi_frequencies(self, frequencies="5GHz", max_delta_s=0.02):
73
+ def set_solution_multi_frequencies(self, frequencies="5GHz", max_delta_s=0.02) -> bool:
74
74
  """Set HFSS setup multi frequencies adaptive.
75
75
 
76
76
  Parameters
@@ -40,7 +40,7 @@ class RaptorXSimulationSettings(GrpcRaptorXSimulationSettings):
40
40
  self._pedb = pedb
41
41
 
42
42
  @property
43
- def advanced(self):
43
+ def advanced(self) -> RaptorXAdvancedSettings:
44
44
  """Advanced class.
45
45
 
46
46
  Returns
@@ -52,7 +52,7 @@ class RaptorXSimulationSettings(GrpcRaptorXSimulationSettings):
52
52
  return RaptorXAdvancedSettings(self._pedb, self.advanced)
53
53
 
54
54
  @property
55
- def general(self):
55
+ def general(self) -> RaptorXGeneralSettings:
56
56
  """General settings class.
57
57
 
58
58
  Returns
@@ -64,7 +64,7 @@ class RaptorXSimulationSetup(GrpcRaptorXSimulationSetup):
64
64
 
65
65
  def add_sweep(
66
66
  self, name=None, distribution="linear", start_freq="0GHz", stop_freq="20GHz", step="10MHz", discrete=False
67
- ):
67
+ ) -> bool:
68
68
  """Add a HFSS frequency sweep.
69
69
 
70
70
  Parameters
@@ -38,8 +38,8 @@ class SiwaveSimulationSetup(GrpcSIWaveSimulationSetup):
38
38
  self._pedb = pedb
39
39
 
40
40
  @property
41
- def type(self):
42
- """Simulatiom setup type.
41
+ def type(self) -> str:
42
+ """Simulation setup type.
43
43
 
44
44
  Returns
45
45
  -------
@@ -65,7 +65,7 @@ class SiwaveSimulationSetup(GrpcSIWaveSimulationSetup):
65
65
  step="10MHz",
66
66
  discrete=False,
67
67
  frequency_set=None,
68
- ):
68
+ ) -> bool:
69
69
  """Add a HFSS frequency sweep.
70
70
 
71
71
  Parameters