pyedb 0.53.0__py3-none-any.whl → 0.54.0__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 (84) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_ports_sources.py +6 -8
  3. pyedb/configuration/configuration.py +2 -1
  4. pyedb/dotnet/database/cell/hierarchy/model.py +1 -1
  5. pyedb/dotnet/database/cell/layout.py +1 -1
  6. pyedb/dotnet/database/cell/layout_obj.py +3 -3
  7. pyedb/dotnet/database/cell/primitive/path.py +1 -1
  8. pyedb/dotnet/database/cell/primitive/primitive.py +8 -8
  9. pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +1 -1
  10. pyedb/dotnet/database/cell/terminal/point_terminal.py +1 -1
  11. pyedb/dotnet/database/cell/terminal/terminal.py +24 -26
  12. pyedb/dotnet/database/components.py +24 -24
  13. pyedb/dotnet/database/definition/component_def.py +3 -3
  14. pyedb/dotnet/database/definition/component_model.py +1 -1
  15. pyedb/dotnet/database/definition/package_def.py +1 -1
  16. pyedb/dotnet/database/dotnet/database.py +43 -38
  17. pyedb/dotnet/database/dotnet/primitive.py +16 -16
  18. pyedb/dotnet/database/edb_data/hfss_extent_info.py +6 -6
  19. pyedb/dotnet/database/edb_data/layer_data.py +14 -14
  20. pyedb/dotnet/database/edb_data/padstacks_data.py +12 -12
  21. pyedb/dotnet/database/edb_data/primitives_data.py +3 -3
  22. pyedb/dotnet/database/edb_data/sources.py +6 -6
  23. pyedb/dotnet/database/edb_data/variables.py +7 -3
  24. pyedb/dotnet/database/geometry/point_data.py +1 -1
  25. pyedb/dotnet/database/geometry/polygon_data.py +2 -4
  26. pyedb/dotnet/database/hfss.py +7 -7
  27. pyedb/dotnet/database/materials.py +2 -2
  28. pyedb/dotnet/database/modeler.py +8 -11
  29. pyedb/dotnet/database/nets.py +1 -1
  30. pyedb/dotnet/database/padstack.py +72 -1
  31. pyedb/dotnet/database/sim_setup_data/data/settings.py +24 -0
  32. pyedb/dotnet/database/sim_setup_data/io/siwave.py +26 -1
  33. pyedb/dotnet/database/siwave.py +5 -5
  34. pyedb/dotnet/database/stackup.py +74 -77
  35. pyedb/dotnet/database/utilities/heatsink.py +4 -4
  36. pyedb/dotnet/database/utilities/obj_base.py +1 -1
  37. pyedb/dotnet/database/utilities/value.py +116 -0
  38. pyedb/dotnet/edb.py +43 -43
  39. pyedb/generic/design_types.py +12 -3
  40. pyedb/grpc/__init__.py +0 -0
  41. pyedb/grpc/database/components.py +53 -17
  42. pyedb/grpc/database/definition/materials.py +23 -30
  43. pyedb/grpc/database/definition/package_def.py +15 -15
  44. pyedb/grpc/database/definition/padstack_def.py +51 -51
  45. pyedb/grpc/database/geometry/arc_data.py +7 -5
  46. pyedb/grpc/database/geometry/point_3d_data.py +8 -7
  47. pyedb/grpc/database/geometry/polygon_data.py +3 -2
  48. pyedb/grpc/database/hierarchy/component.py +43 -38
  49. pyedb/grpc/database/hierarchy/pin_pair_model.py +15 -14
  50. pyedb/grpc/database/hierarchy/pingroup.py +9 -9
  51. pyedb/grpc/database/layers/stackup_layer.py +45 -44
  52. pyedb/grpc/database/layout/layout.py +9 -8
  53. pyedb/grpc/database/layout/voltage_regulator.py +7 -7
  54. pyedb/grpc/database/layout_validation.py +13 -12
  55. pyedb/grpc/database/modeler.py +51 -54
  56. pyedb/grpc/database/nets.py +42 -31
  57. pyedb/grpc/database/padstacks.py +270 -175
  58. pyedb/grpc/database/ports/ports.py +5 -6
  59. pyedb/grpc/database/primitive/bondwire.py +8 -7
  60. pyedb/grpc/database/primitive/circle.py +4 -4
  61. pyedb/grpc/database/primitive/padstack_instance.py +18 -18
  62. pyedb/grpc/database/primitive/path.py +7 -7
  63. pyedb/grpc/database/primitive/polygon.py +3 -3
  64. pyedb/grpc/database/primitive/primitive.py +13 -17
  65. pyedb/grpc/database/primitive/rectangle.py +13 -13
  66. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
  67. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +10 -0
  68. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +17 -1
  69. pyedb/grpc/database/siwave.py +30 -24
  70. pyedb/grpc/database/source_excitations.py +333 -229
  71. pyedb/grpc/database/stackup.py +164 -147
  72. pyedb/grpc/database/terminal/bundle_terminal.py +17 -7
  73. pyedb/grpc/database/terminal/edge_terminal.py +10 -0
  74. pyedb/grpc/database/terminal/padstack_instance_terminal.py +15 -4
  75. pyedb/grpc/database/terminal/pingroup_terminal.py +11 -10
  76. pyedb/grpc/database/terminal/point_terminal.py +4 -3
  77. pyedb/grpc/database/terminal/terminal.py +9 -9
  78. pyedb/grpc/database/utility/value.py +109 -0
  79. pyedb/grpc/edb.py +59 -38
  80. pyedb/grpc/edb_init.py +0 -7
  81. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/METADATA +3 -3
  82. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/RECORD +84 -81
  83. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/WHEEL +0 -0
  84. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/licenses/LICENSE +0 -0
@@ -25,6 +25,7 @@ This module contains these classes: ``CircuitPort``, ``CurrentSource``, ``EdbSiw
25
25
  ``PinGroup``, ``ResistorSource``, ``Source``, ``SourceType``, and ``VoltageSource``.
26
26
  """
27
27
  import os
28
+ from typing import Any, Dict, Optional, Union
28
29
  import warnings
29
30
 
30
31
  from ansys.edb.core.database import ProductIdType as GrpcProductIdType
@@ -57,41 +58,41 @@ class Siwave(object):
57
58
  >>> edb_siwave = edbapp.siwave
58
59
  """
59
60
 
60
- def __init__(self, p_edb):
61
+ def __init__(self, p_edb) -> None:
61
62
  self._pedb = p_edb
62
63
 
63
64
  @property
64
- def _edb(self):
65
+ def _edb(self) -> Any:
65
66
  """EDB object."""
66
67
  return self._pedb
67
68
 
68
69
  @property
69
- def _logger(self):
70
+ def _logger(self) -> Any:
70
71
  """Logger object."""
71
72
  return self._pedb.logger
72
73
 
73
74
  @property
74
- def _active_layout(self):
75
+ def _active_layout(self) -> Any:
75
76
  """Active layout."""
76
77
  return self._pedb.active_layout
77
78
 
78
79
  @property
79
- def _layout(self):
80
+ def _layout(self) -> Any:
80
81
  """Active layout."""
81
82
  return self._pedb.layout
82
83
 
83
84
  @property
84
- def _cell(self):
85
+ def _cell(self) -> Any:
85
86
  """Active cell."""
86
87
  return self._pedb.active_cell
87
88
 
88
89
  @property
89
- def _db(self):
90
+ def _db(self) -> Any:
90
91
  """Active database."""
91
92
  return self._pedb.active_db
92
93
 
93
94
  @property
94
- def excitations(self):
95
+ def excitations(self) -> Dict[str, Any]:
95
96
  """Excitation sources in the layout.
96
97
 
97
98
  Examples
@@ -103,7 +104,7 @@ class Siwave(object):
103
104
  return self._pedb.excitations
104
105
 
105
106
  @property
106
- def sources(self):
107
+ def sources(self) -> Dict[str, Any]:
107
108
  """All sources in the layout.
108
109
 
109
110
  Examples
@@ -115,7 +116,7 @@ class Siwave(object):
115
116
  return self._pedb.sources
116
117
 
117
118
  @property
118
- def probes(self):
119
+ def probes(self) -> Dict[str, Any]:
119
120
  """All probes in the layout.
120
121
 
121
122
  Examples
@@ -127,7 +128,7 @@ class Siwave(object):
127
128
  return self._pedb.probes
128
129
 
129
130
  @property
130
- def pin_groups(self):
131
+ def pin_groups(self) -> Dict[str, Any]:
131
132
  """All layout pin groups.
132
133
 
133
134
  Returns
@@ -526,8 +527,13 @@ class Siwave(object):
526
527
  return self._pedb.source_excitation.create_dc_terminal(component_name, net_name, source_name)
527
528
 
528
529
  def create_exec_file(
529
- self, add_dc=False, add_ac=False, add_syz=False, export_touchstone=False, touchstone_file_path=""
530
- ):
530
+ self,
531
+ add_dc: bool = False,
532
+ add_ac: bool = False,
533
+ add_syz: bool = False,
534
+ export_touchstone: bool = False,
535
+ touchstone_file_path: str = "",
536
+ ) -> bool:
531
537
  """Create an executable file.
532
538
 
533
539
  Parameters
@@ -598,13 +604,13 @@ class Siwave(object):
598
604
 
599
605
  def add_siwave_syz_analysis(
600
606
  self,
601
- accuracy_level=1,
602
- distribution="linear",
603
- start_freq=1,
604
- stop_freq=1e9,
605
- step_freq=1e6,
606
- discrete_sweep=False,
607
- ):
607
+ accuracy_level: int = 1,
608
+ distribution: str = "linear",
609
+ start_freq: Union[str, float] = 1,
610
+ stop_freq: Union[str, float] = 1e9,
611
+ step_freq: Union[str, float, int] = 1e6,
612
+ discrete_sweep: bool = False,
613
+ ) -> Any:
608
614
  """Add a SIwave AC analysis to EDB.
609
615
 
610
616
  Parameters
@@ -684,7 +690,7 @@ class Siwave(object):
684
690
  self.create_exec_file(add_ac=True)
685
691
  return setup
686
692
 
687
- def add_siwave_dc_analysis(self, name=None):
693
+ def add_siwave_dc_analysis(self, name: Optional[str] = None) -> Any:
688
694
  """Add a Siwave DC analysis in EDB.
689
695
 
690
696
  .. note::
@@ -1015,7 +1021,7 @@ class Siwave(object):
1015
1021
  negative_layer,
1016
1022
  )
1017
1023
 
1018
- def create_impedance_crosstalk_scan(self, scan_type="impedance"):
1024
+ def create_impedance_crosstalk_scan(self, scan_type: str = "impedance") -> "SiwaveScanConfig":
1019
1025
  """Create Siwave crosstalk scan object.
1020
1026
 
1021
1027
  Parameters
@@ -1035,7 +1041,7 @@ class Siwave(object):
1035
1041
  return SiwaveScanConfig(self._pedb, scan_type)
1036
1042
 
1037
1043
  @property
1038
- def icepak_use_minimal_comp_defaults(self):
1044
+ def icepak_use_minimal_comp_defaults(self) -> bool:
1039
1045
  """Icepak default setting.
1040
1046
 
1041
1047
  If ``True``, only resistors are active in Icepak simulation and power dissipation
@@ -1049,7 +1055,7 @@ class Siwave(object):
1049
1055
  self._pedb.active_cell.set_product_property(GrpcProductIdType.SIWAVE, 422, value)
1050
1056
 
1051
1057
  @property
1052
- def icepak_component_file(self):
1058
+ def icepak_component_file(self) -> str:
1053
1059
  """Icepak component file path."""
1054
1060
  return self._pedb.active_cell.get_product_property(GrpcProductIdType.SIWAVE, 420).value
1055
1061