pyedb 0.57.0__py3-none-any.whl → 0.58.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 (43) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_pin_groups.py +2 -0
  3. pyedb/dotnet/database/cell/hierarchy/component.py +2 -8
  4. pyedb/dotnet/database/cell/layout.py +1 -1
  5. pyedb/dotnet/database/components.py +1 -3
  6. pyedb/dotnet/database/edb_data/control_file.py +13 -5
  7. pyedb/dotnet/database/edb_data/padstacks_data.py +34 -12
  8. pyedb/dotnet/database/edb_data/sources.py +21 -2
  9. pyedb/dotnet/database/general.py +1 -6
  10. pyedb/dotnet/database/layout_validation.py +8 -0
  11. pyedb/dotnet/database/sim_setup_data/io/siwave.py +53 -0
  12. pyedb/dotnet/database/stackup.py +5 -32
  13. pyedb/dotnet/database/utilities/hfss_simulation_setup.py +81 -0
  14. pyedb/dotnet/database/utilities/siwave_simulation_setup.py +259 -11
  15. pyedb/dotnet/edb.py +26 -13
  16. pyedb/extensions/create_cell_array.py +48 -44
  17. pyedb/generic/general_methods.py +24 -36
  18. pyedb/generic/plot.py +8 -23
  19. pyedb/generic/process.py +78 -10
  20. pyedb/grpc/database/components.py +7 -5
  21. pyedb/grpc/database/control_file.py +13 -5
  22. pyedb/grpc/database/definition/padstack_def.py +10 -5
  23. pyedb/grpc/database/hierarchy/component.py +2 -9
  24. pyedb/grpc/database/modeler.py +28 -8
  25. pyedb/grpc/database/padstacks.py +62 -103
  26. pyedb/grpc/database/primitive/padstack_instance.py +41 -12
  27. pyedb/grpc/database/primitive/path.py +13 -13
  28. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +79 -0
  29. pyedb/grpc/database/source_excitations.py +7 -7
  30. pyedb/grpc/database/stackup.py +5 -33
  31. pyedb/grpc/database/terminal/padstack_instance_terminal.py +9 -11
  32. pyedb/grpc/database/terminal/point_terminal.py +30 -0
  33. pyedb/grpc/database/terminal/terminal.py +16 -2
  34. pyedb/grpc/database/utility/xml_control_file.py +13 -5
  35. pyedb/grpc/edb.py +39 -13
  36. pyedb/misc/aedtlib_personalib_install.py +2 -2
  37. pyedb/misc/downloads.py +18 -3
  38. pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +2 -1
  39. pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -1
  40. {pyedb-0.57.0.dist-info → pyedb-0.58.0.dist-info}/METADATA +4 -5
  41. {pyedb-0.57.0.dist-info → pyedb-0.58.0.dist-info}/RECORD +43 -43
  42. {pyedb-0.57.0.dist-info → pyedb-0.58.0.dist-info}/WHEEL +0 -0
  43. {pyedb-0.57.0.dist-info → pyedb-0.58.0.dist-info}/licenses/LICENSE +0 -0
@@ -22,9 +22,20 @@
22
22
 
23
23
  from ansys.edb.core.geometry.point_data import PointData as GrpcPointData
24
24
  from ansys.edb.core.terminal.point_terminal import PointTerminal as GrpcPointTerminal
25
+ from ansys.edb.core.terminal.terminal import BoundaryType as GrpcBoundaryType
25
26
 
26
27
  from pyedb.grpc.database.utility.value import Value
27
28
 
29
+ mapping_boundary_type = {
30
+ "port": GrpcBoundaryType.PORT,
31
+ "dc_terminal": GrpcBoundaryType.DC_TERMINAL,
32
+ "voltage_probe": GrpcBoundaryType.VOLTAGE_PROBE,
33
+ "voltage_source": GrpcBoundaryType.VOLTAGE_SOURCE,
34
+ "current_source": GrpcBoundaryType.CURRENT_SOURCE,
35
+ "rlc": GrpcBoundaryType.RLC,
36
+ "pec": GrpcBoundaryType.PEC,
37
+ }
38
+
28
39
 
29
40
  class PointTerminal(GrpcPointTerminal):
30
41
  """Manages point terminal properties."""
@@ -33,6 +44,25 @@ class PointTerminal(GrpcPointTerminal):
33
44
  super().__init__(edb_object.msg)
34
45
  self._pedb = pedb
35
46
 
47
+ @property
48
+ def boundary_type(self):
49
+ """Boundary type.
50
+
51
+ Returns
52
+ -------
53
+ str : boundary type.
54
+
55
+ """
56
+ return super().boundary_type.name.lower()
57
+
58
+ @boundary_type.setter
59
+ def boundary_type(self, value):
60
+ if isinstance(value, str):
61
+ value = mapping_boundary_type.get(value.lower(), None)
62
+ if not isinstance(value, GrpcBoundaryType):
63
+ raise ValueError("Value must be a string or BoundaryType enum.")
64
+ super(PointTerminal, self.__class__).boundary_type.__set__(self, value)
65
+
36
66
  @property
37
67
  def location(self) -> list[float]:
38
68
  """Terminal position.
@@ -38,6 +38,16 @@ from ansys.edb.core.terminal.terminal import (
38
38
  from pyedb.grpc.database.primitive.primitive import Primitive
39
39
  from pyedb.grpc.database.utility.value import Value
40
40
 
41
+ mapping_boundary_type = {
42
+ "port": GrpcBoundaryType.PORT,
43
+ "dc_terminal": GrpcBoundaryType.DC_TERMINAL,
44
+ "voltage_probe": GrpcBoundaryType.VOLTAGE_PROBE,
45
+ "voltage_source": GrpcBoundaryType.VOLTAGE_SOURCE,
46
+ "current_source": GrpcBoundaryType.CURRENT_SOURCE,
47
+ "rlc": GrpcBoundaryType.RLC,
48
+ "pec": GrpcBoundaryType.PEC,
49
+ }
50
+
41
51
 
42
52
  class Terminal(GrpcTerminal):
43
53
  def __init__(self, pedb, edb_object):
@@ -202,7 +212,11 @@ class Terminal(GrpcTerminal):
202
212
 
203
213
  @boundary_type.setter
204
214
  def boundary_type(self, value):
205
- super(Terminal, self.__class__).boundary_type.__set__(self, self._boundary_type_mapping[value])
215
+ if isinstance(value, str):
216
+ value = mapping_boundary_type.get(value.lower(), None)
217
+ if not isinstance(value, GrpcBoundaryType):
218
+ raise ValueError("Value must be a string or BoundaryType enum.")
219
+ super(Terminal, self.__class__).boundary_type.__set__(self, value)
206
220
 
207
221
  @property
208
222
  def is_port(self) -> bool:
@@ -250,7 +264,7 @@ class Terminal(GrpcTerminal):
250
264
 
251
265
  @impedance.setter
252
266
  def impedance(self, value):
253
- self.impedance = Value(value)
267
+ super(Terminal, self.__class__).impedance.__set__(self, self._pedb.value(value))
254
268
 
255
269
  @property
256
270
  def reference_object(self) -> any:
@@ -23,9 +23,11 @@
23
23
  import copy
24
24
  import os
25
25
  import re
26
- import subprocess
26
+ import subprocess # nosec B404
27
27
  import sys
28
28
 
29
+ from defusedxml.ElementTree import parse as defused_parse
30
+
29
31
  from pyedb.generic.general_methods import ET, env_path, env_value, is_linux
30
32
  from pyedb.generic.settings import settings
31
33
  from pyedb.misc.aedtlib_personalib_install import write_pretty_xml
@@ -35,6 +37,11 @@ from pyedb.misc.misc import list_installed_ansysem
35
37
  def convert_technology_file(tech_file, edbversion=None, control_file=None):
36
38
  """Convert a technology file to edb control file (xml).
37
39
 
40
+ .. warning::
41
+ Do not execute this function with untrusted function argument, environment
42
+ variables or pyedb global settings.
43
+ See the :ref:`security guide<ref_security_consideration>` for details.
44
+
38
45
  Parameters
39
46
  ----------
40
47
  tech_file : str
@@ -98,10 +105,11 @@ def convert_technology_file(tech_file, edbversion=None, control_file=None):
98
105
  ]
99
106
  commands.append(command)
100
107
  commands.append(["rm", "-r", vlc_file_name + ".aedb"])
101
- my_env = os.environ.copy()
102
108
  for command in commands:
103
- p = subprocess.Popen(command, env=my_env)
104
- p.wait()
109
+ try:
110
+ subprocess.run(command, check=True) # nosec
111
+ except subprocess.CalledProcessError as e: # nosec
112
+ raise RuntimeError("An error occurred while converting a technology file to edb control file") from e
105
113
  if os.path.exists(control_file):
106
114
  settings.logger.info("Xml file created.")
107
115
  return control_file
@@ -1188,7 +1196,7 @@ class ControlFile:
1188
1196
  -------
1189
1197
  bool
1190
1198
  """
1191
- tree = ET.parse(xml_input)
1199
+ tree = defused_parse(xml_input)
1192
1200
  root = tree.getroot()
1193
1201
  for el in root:
1194
1202
  if el.tag == "Stackup":
pyedb/grpc/edb.py CHANGED
@@ -60,7 +60,7 @@ from itertools import combinations
60
60
  import os
61
61
  import re
62
62
  import shutil
63
- import subprocess
63
+ import subprocess # nosec B404
64
64
  import sys
65
65
  import tempfile
66
66
  import time
@@ -761,6 +761,11 @@ class Edb(EdbInit):
761
761
 
762
762
  This function supports all AEDT formats, including DXF, GDS, SML (IPC2581), BRD, MCM, SIP, ZIP and TGZ.
763
763
 
764
+ .. warning::
765
+ Do not execute this function with untrusted function argument, environment
766
+ variables or pyedb global settings.
767
+ See the :ref:`security guide<ref_security_consideration>` for details.
768
+
764
769
  Parameters
765
770
  ----------
766
771
  input_file : str
@@ -803,16 +808,16 @@ class Edb(EdbInit):
803
808
  self._nets = None
804
809
  aedb_name = os.path.splitext(os.path.basename(input_file))[0] + ".aedb"
805
810
  if anstranslator_full_path and os.path.exists(anstranslator_full_path):
806
- command = anstranslator_full_path
811
+ executable_path = anstranslator_full_path
807
812
  else:
808
- command = os.path.join(self.base_path, "anstranslator")
813
+ executable_path = os.path.join(self.base_path, "anstranslator")
809
814
  if is_windows:
810
- command += ".exe"
815
+ executable_path += ".exe"
811
816
 
812
817
  if not working_dir:
813
818
  working_dir = os.path.dirname(input_file)
814
819
  cmd_translator = [
815
- command,
820
+ executable_path,
816
821
  input_file,
817
822
  os.path.join(working_dir, aedb_name),
818
823
  "-l={}".format(os.path.join(working_dir, "Translator.log")),
@@ -830,7 +835,10 @@ class Edb(EdbInit):
830
835
  cmd_translator.append('-t="{}"'.format(tech_file))
831
836
  if layer_filter:
832
837
  cmd_translator.append('-f="{}"'.format(layer_filter))
833
- subprocess.run(cmd_translator)
838
+ try:
839
+ subprocess.run(cmd_translator, check=True) # nosec
840
+ except subprocess.CalledProcessError as e: # nosec
841
+ raise RuntimeError("An error occurred while translating board file to ``edb.def`` file") from e
834
842
  if not os.path.exists(os.path.join(working_dir, aedb_name)):
835
843
  self.logger.error("Translator failed to translate.")
836
844
  return False
@@ -1340,6 +1348,11 @@ class Edb(EdbInit):
1340
1348
  ):
1341
1349
  """Import GDS file.
1342
1350
 
1351
+ .. warning::
1352
+ Do not execute this function with untrusted function argument, environment
1353
+ variables or pyedb global settings.
1354
+ See the :ref:`security guide<ref_security_consideration>` for details.
1355
+
1343
1356
  Parameters
1344
1357
  ----------
1345
1358
  inputGDS : str
@@ -1403,9 +1416,12 @@ class Edb(EdbInit):
1403
1416
  f'-f="{layer_filter}"',
1404
1417
  ]
1405
1418
 
1406
- result = subprocess.run(command, capture_output=True, text=True, shell=True)
1407
- print(result.stdout)
1408
- print(command)
1419
+ try:
1420
+ result = subprocess.run(command, capture_output=True, text=True, check=True) # nosec
1421
+ print(result.stdout)
1422
+ print(command)
1423
+ except subprocess.CalledProcessError as e: # nosec
1424
+ raise RuntimeError("An error occurred while converting file") from e
1409
1425
  temp_inputGDS = inputGDS.split(".gds")[0]
1410
1426
  self.edbpath = temp_inputGDS + ".aedb"
1411
1427
  return self.open()
@@ -3908,6 +3924,11 @@ class Edb(EdbInit):
3908
3924
  def compare(self, input_file, results=""):
3909
3925
  """Compares current open database with another one.
3910
3926
 
3927
+ .. warning::
3928
+ Do not execute this function with untrusted function argument, environment
3929
+ variables or pyedb global settings.
3930
+ See the :ref:`security guide<ref_security_consideration>` for details.
3931
+
3911
3932
  Parameters
3912
3933
  ----------
3913
3934
  input_file : str
@@ -3924,13 +3945,18 @@ class Edb(EdbInit):
3924
3945
  if not results:
3925
3946
  results = self.edbpath[:-5] + "_compare_results"
3926
3947
  os.mkdir(results)
3927
- command = os.path.join(self.base_path, "EDBDiff.exe")
3948
+ executable_path = os.path.join(self.base_path, "EDBDiff.exe")
3928
3949
  if is_linux:
3929
3950
  mono_path = os.path.join(self.base_path, "common/mono/Linux64/bin/mono")
3930
- cmd_input = [mono_path, command, input_file, self.edbpath, results]
3951
+ command = [mono_path, executable_path, input_file, self.edbpath, results]
3931
3952
  else:
3932
- cmd_input = [command, input_file, self.edbpath, results]
3933
- subprocess.run(cmd_input)
3953
+ command = [executable_path, input_file, self.edbpath, results]
3954
+ try:
3955
+ subprocess.run(command, check=True) # nosec
3956
+ except subprocess.CalledProcessError as e: # nosec
3957
+ raise RuntimeError(
3958
+ "EDBDiff.exe execution failed. Please check if the executable is present in the base path."
3959
+ )
3934
3960
 
3935
3961
  if not os.path.exists(os.path.join(results, "EDBDiff.csv")):
3936
3962
  self.logger.error("Comparison execution failed")
@@ -20,8 +20,8 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  # SOFTWARE.
22
22
 
23
- from xml.dom.minidom import parseString
24
- import xml.etree.ElementTree as ET
23
+ import defusedxml.ElementTree as ET
24
+ from defusedxml.minidom import parseString
25
25
 
26
26
 
27
27
  def write_pretty_xml(root, file_path):
pyedb/misc/downloads.py CHANGED
@@ -24,6 +24,7 @@
24
24
 
25
25
  import os
26
26
  import shutil
27
+ import subprocess # nosec B404
27
28
  import tempfile
28
29
  import urllib.request
29
30
  import zipfile
@@ -48,7 +49,18 @@ def _get_file_url(directory, filename=None):
48
49
 
49
50
 
50
51
  def _retrieve_file(url, filename, directory, destination=None, local_paths=[]): # pragma: no cover
51
- """Download a file from a url"""
52
+ """Download a file from a url
53
+
54
+ .. warning::
55
+ Do not execute this function with untrusted function argument, environment
56
+ variables or pyedb global settings.
57
+ See the :ref:`security guide<ref_security_consideration>` for details.
58
+
59
+ """
60
+ # Check that provided url is pointing to pyaedt-example repo
61
+ if not url.startswith(EXAMPLE_REPO):
62
+ raise ValueError(f"Attempting to download file(s) from url {url} not pointing the to example-data repo.")
63
+
52
64
  # First check if file has already been downloaded
53
65
  if not destination:
54
66
  destination = EXAMPLES_PATH
@@ -64,8 +76,11 @@ def _retrieve_file(url, filename, directory, destination=None, local_paths=[]):
64
76
  os.makedirs(destination_dir)
65
77
  # Perform download
66
78
  if is_linux:
67
- command = "wget {} -O {}".format(url, local_path)
68
- os.system(command)
79
+ command = ["wget", url, "-O", local_path]
80
+ try:
81
+ subprocess.run(command, check=True) # nosec
82
+ except subprocess.CalledProcessError as e: # nosec
83
+ raise RuntimeError("An error occurred while downloading wget") from e
69
84
  else:
70
85
  _, resp = urlretrieve(url, local_path)
71
86
  local_paths.append(local_path)
@@ -23,6 +23,7 @@
23
23
  from copy import deepcopy as copy
24
24
  import json
25
25
 
26
+ from defusedxml.ElementTree import parse as defused_parse
26
27
  import numpy as np
27
28
 
28
29
  from pyedb.generic.general_methods import ET
@@ -78,7 +79,7 @@ class EMCRuleCheckerSettings:
78
79
  fpath: str
79
80
  Path to file.
80
81
  """
81
- tree = ET.parse(fpath)
82
+ tree = defused_parse(fpath)
82
83
  root = tree.getroot()
83
84
 
84
85
  self.tag_library = TagLibrary(root.find("TagLibrary"))
@@ -22,7 +22,6 @@
22
22
 
23
23
  from enum import Enum
24
24
  import os
25
- import xml.etree as ET
26
25
 
27
26
  from pyedb.generic.general_methods import ET
28
27
  from pyedb.misc.siw_feature_config.xtalk_scan.fd_xtalk_scan_config import (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyedb
3
- Version: 0.57.0
3
+ Version: 0.58.0
4
4
  Summary: Higher-Level Pythonic Ansys Electronics Data Base
5
5
  Author-email: "ANSYS, Inc." <pyansys.core@ansys.com>
6
6
  Maintainer-email: PyEDB developers <simon.vandenbrouck@ansys.com>
@@ -29,6 +29,8 @@ Requires-Dist: shapely
29
29
  Requires-Dist: scikit-rf
30
30
  Requires-Dist: ansys-edb-core>=0.2.0
31
31
  Requires-Dist: psutil
32
+ Requires-Dist: defusedxml>=0.7,<8.0
33
+ Requires-Dist: matplotlib>=3.5.0,<3.11
32
34
  Requires-Dist: ansys-sphinx-theme>=1.0.0,<1.5 ; extra == "doc"
33
35
  Requires-Dist: imageio>=2.30.0,<2.38 ; extra == "doc"
34
36
  Requires-Dist: ipython>=8.13.0,<8.32 ; extra == "doc"
@@ -41,14 +43,12 @@ Requires-Dist: numpydoc>=1.5.0,<1.9 ; extra == "doc"
41
43
  Requires-Dist: pypandoc>=1.10.0,<1.16 ; extra == "doc"
42
44
  Requires-Dist: recommonmark ; extra == "doc"
43
45
  Requires-Dist: Sphinx>=7.1.0,<8.2 ; extra == "doc"
44
- Requires-Dist: sphinx-autobuild==2021.3.14 ; extra == "doc" and ( python_version == '3.8')
46
+ Requires-Dist: sphinx-autobuild==2024.10.3 ; extra == "doc" and ( python_version == '3.8')
45
47
  Requires-Dist: sphinx-autobuild==2024.10.3 ; extra == "doc" and ( python_version > '3.8')
46
48
  Requires-Dist: sphinx-copybutton>=0.5.0,<0.6 ; extra == "doc"
47
49
  Requires-Dist: sphinx-gallery>=0.14.0,<0.20 ; extra == "doc"
48
50
  Requires-Dist: sphinx_design>=0.4.0,<0.7 ; extra == "doc"
49
51
  Requires-Dist: shapely ; extra == "doc"
50
- Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "full"
51
- Requires-Dist: shapely ; extra == "full"
52
52
  Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "tests"
53
53
  Requires-Dist: mock>=5.1.0,<5.3 ; extra == "tests"
54
54
  Requires-Dist: pytest>=7.4.0,<8.5 ; extra == "tests"
@@ -62,7 +62,6 @@ Project-URL: Documentation, https://edb.docs.pyansys.com
62
62
  Project-URL: Releases, https://github.com/ansys/pyedb/releases
63
63
  Project-URL: Source, https://github.com/ansys/pyedb
64
64
  Provides-Extra: doc
65
- Provides-Extra: full
66
65
  Provides-Extra: tests
67
66
 
68
67
  <!-- -->
@@ -1,4 +1,4 @@
1
- pyedb/__init__.py,sha256=1IZsYOL108KafUR3pWg2lIL0aEi9osBgHmFn6BTj9VQ,1327
1
+ pyedb/__init__.py,sha256=7tur0elJHeGehakaik77uV7EtJQP_1mhEoWHLIQGnGI,1327
2
2
  pyedb/edb_logger.py,sha256=ySZ_cZFJ09s1k3n3ft2q-MjaxH5pUwq18HNdiikTJNM,14497
3
3
  pyedb/exceptions.py,sha256=iStxCzoIOnZH1JWUi1sE9bmCwa8fY1Mg55-aURn9boc,111
4
4
  pyedb/siwave.py,sha256=4ttgMbOBnnCMtyNmU8SbOxkA7Cf0c_lV9cawEtq6V1k,17736
@@ -17,7 +17,7 @@ pyedb/configuration/cfg_nets.py,sha256=ZBs6OWlrUPRM1KFLsPx7_3wXzewQ6czoOzZcySCuv
17
17
  pyedb/configuration/cfg_operations.py,sha256=2PPa02p_l5Mk0B5dHvl9fiXtarr5SUZFuwxWVapVhGY,2016
18
18
  pyedb/configuration/cfg_package_definition.py,sha256=uO1ARgQCm7glVoaSs-sjVlEbI4rGJtfpNXT2vn1pMRQ,5460
19
19
  pyedb/configuration/cfg_padstacks.py,sha256=6LjPtjGQPVAJQ2GhWHvA9BxHc9H_rMnO_VswhveLC-s,18551
20
- pyedb/configuration/cfg_pin_groups.py,sha256=7w1xbzppRTP_RU6TEBAX3AUZvzvTFY4llqHIVIJpp2w,3818
20
+ pyedb/configuration/cfg_pin_groups.py,sha256=bT-ubQKg05nBMGdnx5aQJ33X9CgoyZppyZov_wfKBRw,3894
21
21
  pyedb/configuration/cfg_ports_sources.py,sha256=aBU2URwY1Wc0qei5r5mgStbtTicNMNuv-CQbx9sQDA4,34395
22
22
  pyedb/configuration/cfg_s_parameter_models.py,sha256=jssa4oEktpR0p5-QqkczaToQLowTB16Xj0d3C1Z-pAg,5356
23
23
  pyedb/configuration/cfg_setup.py,sha256=tLemymxB5XAPeBowD26v8w95VyMJBIhUVJjnk3ql6c0,9306
@@ -27,28 +27,28 @@ pyedb/configuration/cfg_terminals.py,sha256=dT-vNKK8YT4UfGajuGcAt_78-v0P-UGjDaFN
27
27
  pyedb/configuration/configuration.py,sha256=wAsgFMAcO3iRdZIGnXB5ebVN7V5pGWDfsqc42SsEgAk,33021
28
28
  pyedb/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  pyedb/dotnet/clr_module.py,sha256=AEy172pzZMwqbENX1RUTEkEm5viVNGd4Ti9KjSL3UAc,5471
30
- pyedb/dotnet/edb.py,sha256=f2FmLa1N519wDK2qb2-yXsYPbwrWNzWOiS4Uo4swf3I,193236
30
+ pyedb/dotnet/edb.py,sha256=UwybReXR8CdR3X4w9tZcPgT4jFVh1oD7MDGBGFt-X2s,194043
31
31
  pyedb/dotnet/database/Variables.py,sha256=YqPk4iReyo-xNmWJ3s26_J35PImA9R0kznl2grzoY1c,78441
32
32
  pyedb/dotnet/database/__init__.py,sha256=nIRLJ8VZLcMAp12zmGsnZ5x2BEEl7q_Kj_KAOXxVjpQ,52
33
- pyedb/dotnet/database/components.py,sha256=gjfrOnD8AQ3yFbqNnUvy3-0qTCbjpCtLky_aQSoYziE,112006
34
- pyedb/dotnet/database/general.py,sha256=k2Bcr5VV-QUzEZlYorqYCX1ZchHBH7WqUvc8maMxId0,4716
33
+ pyedb/dotnet/database/components.py,sha256=HMuBQo4D6bb25-TePCAQ6PVxQ1hp_X-QNOISpWDbNfg,111905
34
+ pyedb/dotnet/database/general.py,sha256=3Th6G21uTB_KQ9E8uW6cfB_96WNEe3E2sdi9Zy5OhGw,4669
35
35
  pyedb/dotnet/database/hfss.py,sha256=zkoqdK68T-QJEQwmJpEE-ta7qKIYLkLNMx1YCvk2Fvw,69079
36
36
  pyedb/dotnet/database/layout_obj_instance.py,sha256=se6eJ2kfQOAZfAwObCBdr0A7CCD3st4aiPPVJR9eQoA,1407
37
- pyedb/dotnet/database/layout_validation.py,sha256=9JD56CZkbWp4cbVhCCvz1gUgbn-TX2gKVtAMWEfvKYc,13601
37
+ pyedb/dotnet/database/layout_validation.py,sha256=fkOAircLkUhIItoY6V78wVQSgmcfDBFVUMXB2jCN4dI,13921
38
38
  pyedb/dotnet/database/materials.py,sha256=HcfJvyedeCIPh2AMvP9puIhtQNmm2KaOrTBiAOP51dI,47979
39
39
  pyedb/dotnet/database/modeler.py,sha256=H4MqbpNkw-BolVuAhqM_jd77awVFEwwGlpvu-eyv8Is,57564
40
40
  pyedb/dotnet/database/net_class.py,sha256=NxRX8feIaJyf3NmRfSzZ08ItDbZOucOyAnTHZh-LkUI,11354
41
41
  pyedb/dotnet/database/nets.py,sha256=KhZ1XPf-bZ4DMRnIAFMr8v8k-OYc2_cJsEuhSSBeEOo,25893
42
42
  pyedb/dotnet/database/padstack.py,sha256=h6UXojBljuAetsiLUtBPTP9h22ss8Ye5WiOLhPkbM4Q,79017
43
43
  pyedb/dotnet/database/siwave.py,sha256=6bhihZxXEthE39t8Gxyfn4_6uLdYtPcX6f6cdktAGV0,64780
44
- pyedb/dotnet/database/stackup.py,sha256=cdFAIgpg6dXfasw2QQ0VBLRO3XlPkyPEYkHXgw8n48c,119848
44
+ pyedb/dotnet/database/stackup.py,sha256=ex5ZGWn4FOa8hF_dl3PDefFtuFr1y1qaBWwm0qB4Nu0,119219
45
45
  pyedb/dotnet/database/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  pyedb/dotnet/database/cell/connectable.py,sha256=I12kCSS5x6_mMY_7ydteBTn5wBUwKIVOb-CHOLFgedE,3829
47
- pyedb/dotnet/database/cell/layout.py,sha256=6rbJh8iZQxYDFS7LrpAZYyZDJr-goIZD3wiwB6BqfzU,16521
47
+ pyedb/dotnet/database/cell/layout.py,sha256=TWGK3Sx5NNKRfk2YKyuLnHMDNXlw7xHIdy9nNdfJFx4,16522
48
48
  pyedb/dotnet/database/cell/layout_obj.py,sha256=TqmAI6R00a6JzWovModEUueD1reycI_qGO3R-9MHBsQ,2746
49
49
  pyedb/dotnet/database/cell/voltage_regulator.py,sha256=t7mnM83Envl-bRDxnVD6NjHpUlvovskJ5KaDqiizdV0,4526
50
50
  pyedb/dotnet/database/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- pyedb/dotnet/database/cell/hierarchy/component.py,sha256=R5YwTIDvFHldEBR4xQOdSmHaz5IIQ6wEKT_640wuVGo,36635
51
+ pyedb/dotnet/database/cell/hierarchy/component.py,sha256=tA5spZTVIkh_ue8U7TnoAPavzn9gHUGYJwfTKXESJxg,36438
52
52
  pyedb/dotnet/database/cell/hierarchy/hierarchy_obj.py,sha256=B42_qDotHyyhDOZM_fA1hzvPaqqR52A45u1AvOPmhFc,2160
53
53
  pyedb/dotnet/database/cell/hierarchy/model.py,sha256=_kAU8SY2PNPQGhVlJ0aIRRLSBVAlXnHw2SnqzRUkg98,3195
54
54
  pyedb/dotnet/database/cell/hierarchy/netlist_model.py,sha256=fF6tY-6s-lW9EuvJ5sw3RlIkjuoSjeZbrNk5wG-_hzM,1356
@@ -76,18 +76,18 @@ pyedb/dotnet/database/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
76
76
  pyedb/dotnet/database/dotnet/database.py,sha256=doGrh3_tMtQhmcP71lV2_7_z6Kb61Mbdqb61WANDfDo,30838
77
77
  pyedb/dotnet/database/dotnet/primitive.py,sha256=skb5-QpJn-TxNOmQ2kP95gta5xz4zD-U_nj80e121uo,49896
78
78
  pyedb/dotnet/database/edb_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- pyedb/dotnet/database/edb_data/control_file.py,sha256=aTLSerbHY1sZvd8CN8sUO7bnH_tc0HcQyIQLrllri38,52785
79
+ pyedb/dotnet/database/edb_data/control_file.py,sha256=CSdr1ND93jCMYcRuRG-d1holCTa61FObY9yUyEmh6e0,53237
80
80
  pyedb/dotnet/database/edb_data/design_options.py,sha256=qzVrSpXUsa-IhjEjaPBZNyhbR56X0nNEOgezCgmY5vo,2550
81
81
  pyedb/dotnet/database/edb_data/edbvalue.py,sha256=Vj_11HXsQUNavizKp5FicORm6cjhXRh9uvxhv_D_RJc,1977
82
82
  pyedb/dotnet/database/edb_data/hfss_extent_info.py,sha256=ICVLP600hg3Wjc3bR71FPstalq7jPqkxTD9i5ukNF0k,12974
83
83
  pyedb/dotnet/database/edb_data/layer_data.py,sha256=anSyrgRqn4RkFkAk2HjImbf-av53EOvRV7-D8ufA3Xg,34348
84
84
  pyedb/dotnet/database/edb_data/nets_data.py,sha256=jXTIvrpmaWhoV3FMtVePvyBqUsK2Kuirf28GXHJPpjM,10012
85
- pyedb/dotnet/database/edb_data/padstacks_data.py,sha256=FhLt6joLf-ZKL5yZB6CnSxRjrDsImCuBUl0ki4HezWc,83225
85
+ pyedb/dotnet/database/edb_data/padstacks_data.py,sha256=45--ca-N3BQDe-myqgbY7BzR50ymkG3vkOXz9kiIzfQ,83784
86
86
  pyedb/dotnet/database/edb_data/ports.py,sha256=CajUgv8SCMnFD1IyrKiMw-9oYHs-LQnMSStD_FOUlCA,6741
87
87
  pyedb/dotnet/database/edb_data/primitives_data.py,sha256=yOR15FOI0uDAm9esA5PekXZr7U-dK6V0DH-mlSASJW8,16893
88
88
  pyedb/dotnet/database/edb_data/raptor_x_simulation_setup_data.py,sha256=jDppit1pC_f3jfbqbc6l73WffGA7HDxAyWhEQtTx1NI,20819
89
89
  pyedb/dotnet/database/edb_data/simulation_configuration.py,sha256=2wJxqTqHWa_LpDB9fOQFzaoch-NITldNRXKOZgQFqBA,100432
90
- pyedb/dotnet/database/edb_data/sources.py,sha256=zg099Txl24R08oLytgNY9NWQQPyS2oaX3_E6LppV32A,15682
90
+ pyedb/dotnet/database/edb_data/sources.py,sha256=7FivGhFqp4Jf9wmCrWWmKud9ZlfEbRomg1icqnlh-n4,16259
91
91
  pyedb/dotnet/database/edb_data/utilities.py,sha256=ztJdG7fy-e4OoCOqmIYr2xE7Fz6YMsEEVNxIengD0mA,4938
92
92
  pyedb/dotnet/database/edb_data/variables.py,sha256=B7GTQH9_NALP4Nhtlm2_Cnj_f3fgTs00SpoBej01FIw,3671
93
93
  pyedb/dotnet/database/geometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -103,46 +103,46 @@ pyedb/dotnet/database/sim_setup_data/data/simulation_settings.py,sha256=ag-nl1gw
103
103
  pyedb/dotnet/database/sim_setup_data/data/siw_dc_ir_settings.py,sha256=FnvDY1oxpnPo0EYMVXT7yfW-e-W3_NOGnvUvQYta4Ls,8627
104
104
  pyedb/dotnet/database/sim_setup_data/data/sweep_data.py,sha256=9JdKRP6DrXeuMhd7XKLIzDSGZDUoBnevbfi88oiX2F8,20129
105
105
  pyedb/dotnet/database/sim_setup_data/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
106
- pyedb/dotnet/database/sim_setup_data/io/siwave.py,sha256=BcYZt-i-lGsybDHWQlNaGl6tCZYkiKS5LRJrw_WMj48,32154
106
+ pyedb/dotnet/database/sim_setup_data/io/siwave.py,sha256=kjVvUPm8ac2QREqeuTnGLhOogxHnFIeiF2ym1kKhzAI,33546
107
107
  pyedb/dotnet/database/utilities/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
108
108
  pyedb/dotnet/database/utilities/heatsink.py,sha256=wbE6QGyBgavh7BZpo3BWrexNIRsEFTfOS3Im5YLyUQc,2175
109
- pyedb/dotnet/database/utilities/hfss_simulation_setup.py,sha256=EbaARi2L_Q00N2uaoV0idMzz-XG1DQ2-Rf7XVNAYinc,14053
109
+ pyedb/dotnet/database/utilities/hfss_simulation_setup.py,sha256=-3PxfE27-ExAk-fslAKOH1SUcQhkd-xiqGyAgoMqHlI,17649
110
110
  pyedb/dotnet/database/utilities/obj_base.py,sha256=msBfscHucK2V0_WHtplctFNmLPD1ypiiF32silRzmXI,2907
111
111
  pyedb/dotnet/database/utilities/simulation_setup.py,sha256=EYSTG1iGunAZq-7qgK6LH6hxWEY2XPHGwhICf7x8hZU,13349
112
112
  pyedb/dotnet/database/utilities/siwave_cpa_simulation_setup.py,sha256=ZBrgHWMtxRKNkbYKEx8WnM3qiOuHuCaq7PCb5tDhp9k,32647
113
- pyedb/dotnet/database/utilities/siwave_simulation_setup.py,sha256=c1gPBERkTYQlPFzJB2t_iPXmW-RyqjSeAIDc4nhlt1c,14518
113
+ pyedb/dotnet/database/utilities/siwave_simulation_setup.py,sha256=D8FbZ5QKYxGH639z0PFMyf6eUPaXPQrGJYHiAbCPzgA,21955
114
114
  pyedb/dotnet/database/utilities/value.py,sha256=AOafTWhjNF3TbM_r72vi0fxiv_8ldAhF-p9Xqh5L_eI,4821
115
115
  pyedb/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
- pyedb/extensions/create_cell_array.py,sha256=GgKa8Q5J-OJLAhHGHESJ8rW2gSwplXZG0wuZVKzgVhk,15458
116
+ pyedb/extensions/create_cell_array.py,sha256=aijJlchWsfByF652DGCpTsMbRwKnQQXNA97E5POANdY,16250
117
117
  pyedb/extensions/via_design_backend.py,sha256=hpofcNP2s-qw17_FaJeJESxRQoUrjqsdBtGbyJEPQdQ,24481
118
118
  pyedb/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
119
119
  pyedb/generic/constants.py,sha256=prWLZH0-SeBIVK6LHZ4SGZFQCofuym2TuQYfdqwhuSQ,28956
120
120
  pyedb/generic/data_handlers.py,sha256=XGuVzYY6L62L7B4Ch5IJh9KObmc2PIHhEemVnrOem20,6537
121
121
  pyedb/generic/design_types.py,sha256=T6dQxmhR-J5d8rcNidXYJZKdlfhe22AaY-ss-gK4qwQ,11561
122
122
  pyedb/generic/filesystem.py,sha256=gx7pcTkKSH7uXHOcZrMUCz0omF7wRwrxm2SEjvl42aM,3895
123
- pyedb/generic/general_methods.py,sha256=NkmqYa-DmM0PbI6uyLIuOEociIRyQfxpfVb5Nya-H5I,38085
123
+ pyedb/generic/general_methods.py,sha256=VZWAh3OHBmy3iUP9lIDOBKg3hBmbgsQiHpVSNP9Hfbs,37994
124
124
  pyedb/generic/grpc_warnings.py,sha256=YYW5NhypV8AeeRmV7NZ7ej7Z1n-44z2FPGfQQue3D_Q,277
125
- pyedb/generic/plot.py,sha256=B4ocZpzO--jCbiZallAXGlE4PxEXa8-flFN7lR0oXYY,4789
126
- pyedb/generic/process.py,sha256=UqogTaWKxFPiJjA0ba8qJVweQZqeA5o0tIHiSZxcZWM,9332
125
+ pyedb/generic/plot.py,sha256=7xrCl0OlTXM8uhS6PoyB01OaEXsMmC6xfP3TiV5zguo,4228
126
+ pyedb/generic/process.py,sha256=KviVNw9KP-iB5QIY6WMZ0sBErcQbLfxsXJjlCwHo9Yc,12163
127
127
  pyedb/generic/settings.py,sha256=nTVTEvZJOrMSXpIYmmHKKCiVUvECL_aiHcQ3BSX2HMw,12122
128
128
  pyedb/grpc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- pyedb/grpc/edb.py,sha256=epeeb3FnTxGKJ48b98GsmBybnaHQjqXuTV4cXnrAYM0,151346
129
+ pyedb/grpc/edb.py,sha256=Sqnfjq_yhNqubBKx0Sl1KpxtKA5qJRh7ey9q2Y-D1U8,152775
130
130
  pyedb/grpc/edb_init.py,sha256=v2rCxQ4prUQBRMKZgC01OmFOSGvASsuRikHeROZ0SN4,15741
131
131
  pyedb/grpc/rpc_session.py,sha256=espO-OFMeGi4Gms4DZAhnef7LaSvzpLmRI0kQu3ul4c,7157
132
132
  pyedb/grpc/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
133
  pyedb/grpc/database/_typing.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
134
- pyedb/grpc/database/components.py,sha256=iQ4HNSOrvivO-nDpsSWNbxOwsBgl8pR6gnF-H8ZWS80,82909
135
- pyedb/grpc/database/control_file.py,sha256=Dg9yPQqE8S5vKxzF_6XANKfirFfux8hZ72FO26yT2Bc,63767
134
+ pyedb/grpc/database/components.py,sha256=ocVZEdJeDcviPoC6mb74yroH9FUB5F2fFrXOK2WK8O0,83047
135
+ pyedb/grpc/database/control_file.py,sha256=RkTTuPhzhBwWibsHJ03ZHHlRNXyurzXJUWu79fuuR3E,64219
136
136
  pyedb/grpc/database/definitions.py,sha256=W8-pHfEyNfhpoaA0KeXN_HuJ2Pk2KvybTFvITq6l6ag,4412
137
137
  pyedb/grpc/database/general.py,sha256=QBZlMO4Tzec00HcaLVQ8fDTLox-pHjOcH2wpWge2sZw,1633
138
138
  pyedb/grpc/database/hfss.py,sha256=E9IlTpYNbvus9gDn0dbdn289X8LnGfQlnJoMQSS7IF8,42638
139
139
  pyedb/grpc/database/layout_validation.py,sha256=v6EVnMY4Vcd4tgn8L5choel7AL6sL75i-tkXHYBdyKc,15960
140
- pyedb/grpc/database/modeler.py,sha256=4RqK1QWK0aAU8Bu_FubrAGX_AMMuEKFfjo0dcBD06-w,54383
140
+ pyedb/grpc/database/modeler.py,sha256=1KaMkn6fqFsfxDsUU4jO-DojcdHfORDFXw_yVfwRAv8,55039
141
141
  pyedb/grpc/database/nets.py,sha256=FDJ8gbPPKM982ZccwfYf3j0VpxMOfkV18TtG5mtnXz8,30748
142
- pyedb/grpc/database/padstacks.py,sha256=2_CN3Geu6AZpJsLjLyq5LAsRyrHhsQhgBjGVA_0ub9Q,75620
142
+ pyedb/grpc/database/padstacks.py,sha256=iwzlOGmqmDsQrE-v_rcvxK99xyxktdj3N9c1YcL6TBI,74036
143
143
  pyedb/grpc/database/siwave.py,sha256=iaKNCt7-YvMB5TB6r5B1KhJGzJEY3yzK71aBWP1DIQ0,36631
144
- pyedb/grpc/database/source_excitations.py,sha256=0DHOrL7Nu9lyqisC3MFzfxSqYLy6KvFKbU8j-ccEpPI,129413
145
- pyedb/grpc/database/stackup.py,sha256=-v8zDR6yMv_anrCnPFM0pYLw4aqIZCe_me7YruRiGc4,114764
144
+ pyedb/grpc/database/source_excitations.py,sha256=IbLz_XeO8HrQxXuFbDO4afdbIGb_3EXOIPpwv4caNcg,129419
145
+ pyedb/grpc/database/stackup.py,sha256=QQsGtbyaw4PwmQTI0Q86huK-ZGQ0E7AAU6gVTl_xIcs,114139
146
146
  pyedb/grpc/database/definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
147
  pyedb/grpc/database/definition/component_def.py,sha256=2c5Xz98bdOAdOAX5kat2PY5N9-BiA1T6yw6TsWYRUmg,7579
148
148
  pyedb/grpc/database/definition/component_model.py,sha256=9TRfILC3FfmgSrnYRwEdF2kbY4jFcC5rSeR9xeeb3wg,1689
@@ -150,14 +150,14 @@ pyedb/grpc/database/definition/component_pin.py,sha256=PfwTv6ILn6irJ4P5nB0PNtz2U
150
150
  pyedb/grpc/database/definition/materials.py,sha256=yeKuH_oMhJaKf6c5GiKhjHEaRTfRhDDiYh3S935pNWo,45291
151
151
  pyedb/grpc/database/definition/n_port_component_model.py,sha256=8dC636At0iyfAWShugHGDOerytpoV6cvShPEGkXH89I,1543
152
152
  pyedb/grpc/database/definition/package_def.py,sha256=EfFMoTVsEJGieU3nHDYsmdqbkFyvIimwEvn_oje9MUg,8266
153
- pyedb/grpc/database/definition/padstack_def.py,sha256=1E8xkRZzEED9eAa6PCEXav4SbiaL_6CspQxv0QPHDDc,31204
153
+ pyedb/grpc/database/definition/padstack_def.py,sha256=ZT-0lCpWEIU7V72rCijIYTktg0_N1SaPCGpKu9P2RQ0,31356
154
154
  pyedb/grpc/database/geometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
155
  pyedb/grpc/database/geometry/arc_data.py,sha256=yjP3QEl9WLm0ub7T_nWZrDviiSek-ZnWnrQAEIWYLEk,2794
156
156
  pyedb/grpc/database/geometry/point_3d_data.py,sha256=ERVi3a-3YpOrniCa9a2L6-TZDSoBEYxbp8WwgaQfNMM,2174
157
157
  pyedb/grpc/database/geometry/point_data.py,sha256=q8a6-MRUunTl6-kBbYuraiVbYF_EOY1eSMmwo5_ouuk,1433
158
158
  pyedb/grpc/database/geometry/polygon_data.py,sha256=5yKhWNywAOZWy7DFfc7ww8Vp_liwtXPUZFkAnvpWBm4,4917
159
159
  pyedb/grpc/database/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
- pyedb/grpc/database/hierarchy/component.py,sha256=wIoJuO__QMj7DDfVRqj7Zd4O4-sdZo1C_NAFFvC8qe8,42056
160
+ pyedb/grpc/database/hierarchy/component.py,sha256=pnR6SFAkHXRUAfFeee6prhKoljrAgczfCyrZMdwQ6xE,41858
161
161
  pyedb/grpc/database/hierarchy/model.py,sha256=H3I2S6BxWorFBaRlvIPBTQUqpXXAdch4KZqpRXjNtI4,1413
162
162
  pyedb/grpc/database/hierarchy/netlist_model.py,sha256=VtXxTTTArojCOOLShHVlGOS1OTx30YZ8_UdSZWaKaEA,1432
163
163
  pyedb/grpc/database/hierarchy/pin_pair_model.py,sha256=kiWYF6G44J_OilQG-jr8UI4GMQN6FDmQydjcq5F21sA,3518
@@ -181,8 +181,8 @@ pyedb/grpc/database/ports/ports.py,sha256=Lb0iBOluDy5pMlCBvnM4KNeMsYspl2_BnwB5-4
181
181
  pyedb/grpc/database/primitive/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
182
182
  pyedb/grpc/database/primitive/bondwire.py,sha256=VWu6VOr2G9OvRZFQ869ylvAEsruZ05JukL4I4UWE6PU,3984
183
183
  pyedb/grpc/database/primitive/circle.py,sha256=WC1K3b3Z-reI0jIIFmkoHX8FwPCSYeJEHEynuDBhULw,3846
184
- pyedb/grpc/database/primitive/padstack_instance.py,sha256=ko5oIry1rh3AYEBbcifZDNHVt1qfoqGXrI4uEjF-pmk,44795
185
- pyedb/grpc/database/primitive/path.py,sha256=oOTY7g_hSR-oLTmEbGyhOQn5bOP0wKRNwL9zEZ8kDa4,17418
184
+ pyedb/grpc/database/primitive/padstack_instance.py,sha256=C0anuSsMR__T0TLi9StkqfPb9Jhe7bVsNHNCftQs9D4,45630
185
+ pyedb/grpc/database/primitive/path.py,sha256=MbBmqNaJQvE0z2zXYL9aPhuPMBlFHt7qMBbrht9A3EQ,17509
186
186
  pyedb/grpc/database/primitive/polygon.py,sha256=c4FMiXExe0ANHl6qhhjSi1-unnitpPwcIg_gR3y848k,12214
187
187
  pyedb/grpc/database/primitive/primitive.py,sha256=MyCcnoSVrBpfeygyuWxu3o1351W-gEneQCTAQqnz0zM,25098
188
188
  pyedb/grpc/database/primitive/rectangle.py,sha256=vl3YaBZ97DiZqCc00j_cqT7GF9kZOhVfcmyB_I9oLrs,9475
@@ -194,7 +194,7 @@ pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py,sha256=H_aqDcxATHK8yeJ
194
194
  pyedb/grpc/database/simulation_setup/hfss_general_settings.py,sha256=YeESUt1MvtIdxQtvfLr8IUvqD38Lh8FdGZrbtL8m4cI,2367
195
195
  pyedb/grpc/database/simulation_setup/hfss_settings_options.py,sha256=MCQjHQPe6veIln0XLolZDEVc1cCopYLVf-rW3de4uuA,2790
196
196
  pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py,sha256=c1raWL_9BzGSPxGHHodho1WlJ0zp_iUzc3oJtZfaUMA,4088
197
- pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py,sha256=JlYvtZAJmxyRdsYh8neFD2WiVI812qdFBJAJcgpU2ZU,15610
197
+ pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py,sha256=NfJ4vSZtwt7jhCL1WVGKVDGrhjZv9mUVAUZqqwmuUgs,19256
198
198
  pyedb/grpc/database/simulation_setup/hfss_solver_settings.py,sha256=Xi4N-cCO_8-JxMkI_tGyJ3SGcJrP5_rLvdbXx7P-uJI,1474
199
199
  pyedb/grpc/database/simulation_setup/mesh_operation.py,sha256=Ejf9v9njc-Ll3jw_DdA26CAT1WreludC6CwBrpoS16A,1439
200
200
  pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py,sha256=mo2zHBsdxHG9N81FNefulKjUv-Oi_VkV49kvKKXrhrs,1505
@@ -208,10 +208,10 @@ pyedb/grpc/database/simulation_setup/sweep_data.py,sha256=nZPvhPLkli58Z6WXYIrnE1
208
208
  pyedb/grpc/database/terminal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
209
  pyedb/grpc/database/terminal/bundle_terminal.py,sha256=PhF9LwO90RBPomBkVjb2p9LwKhKwLpFOaW8T38fSl6w,6869
210
210
  pyedb/grpc/database/terminal/edge_terminal.py,sha256=pp67OJLlAmR7YMASe_oGhS72rlb3inFdZx04DXFND6Y,5712
211
- pyedb/grpc/database/terminal/padstack_instance_terminal.py,sha256=11g1K-5PTrrz_rRzkKM1fpWP6hGe5M4JqW0ckq1M08Y,6450
211
+ pyedb/grpc/database/terminal/padstack_instance_terminal.py,sha256=d2qi7QHSqa-dnWfPWvUJTRDLDOdfMWeY-qae2A7Lu_8,6589
212
212
  pyedb/grpc/database/terminal/pingroup_terminal.py,sha256=swlrIG5l0q0WQAaXJm2pebHKnT91ZpYfhISbGR99MaU,6096
213
- pyedb/grpc/database/terminal/point_terminal.py,sha256=aUkNIx9KVBBZ7zVDY5-kRGw29UIBjeTYyWYgI_a9j-U,3511
214
- pyedb/grpc/database/terminal/terminal.py,sha256=OxscxSQZQOBJ63RUubEHO87oY8gzMmAe_ILbqJUwb9k,17263
213
+ pyedb/grpc/database/terminal/point_terminal.py,sha256=_4DxRLJoR5WPmeV_0m2QgSd2YVUuX-M3voYVeNbk-v4,4500
214
+ pyedb/grpc/database/terminal/terminal.py,sha256=PDAk6d8NxBgWLdM6EYKgscmcx-PJWcu2yiLUZ3Sy_3o,17858
215
215
  pyedb/grpc/database/utility/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
216
216
  pyedb/grpc/database/utility/constants.py,sha256=XF66Hj7aQWJfqn8rDhyovyIbYBt4h_ab7lgpUqzgcPc,1288
217
217
  pyedb/grpc/database/utility/heat_sink.py,sha256=iUuzNtKvbYJ53mde3YQwsr2fDf_Wl5JHkCNGI4i_Tg0,3580
@@ -221,7 +221,7 @@ pyedb/grpc/database/utility/rlc.py,sha256=H0vzzxYPzr-6CTEDjlAs9fEY5emu4ugseKklfn
221
221
  pyedb/grpc/database/utility/sources.py,sha256=sSU14NaMA9mDBUvwXIx7hNpwmGz4mmwtq92w1urusuk,10448
222
222
  pyedb/grpc/database/utility/sweep_data_distribution.py,sha256=ClGfo8MNH2LPWWZ-swsSpvc_yLxI-GVxLBkjn5-WS0U,3760
223
223
  pyedb/grpc/database/utility/value.py,sha256=m7gRElH3qGywByTGmm-FgS6ebMGsca5wbiyrapRujTg,4816
224
- pyedb/grpc/database/utility/xml_control_file.py,sha256=3dmSG6AeeWvxEuSHrNJcYF8lMmwjEbRrEp0RZJDNn0c,48452
224
+ pyedb/grpc/database/utility/xml_control_file.py,sha256=OtoDMofDa0bzTmBNJ4MA-NoguPQw0fXpJCijQQBNe5M,48904
225
225
  pyedb/ipc2581/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
226
  pyedb/ipc2581/history_record.py,sha256=s1GjcIgnZHlNCBOeEERBDX7xDuqhXmh2Ctt3ccFDWso,2739
227
227
  pyedb/ipc2581/ipc2581.py,sha256=Lucq_K5Htc6YRL5UvfDzD-ubxNSanVp6J7mAYqQZDy8,22254
@@ -274,14 +274,14 @@ pyedb/libraries/common.py,sha256=UwhsmVlVYbHWncLkLQGxZf2wBjwLDrVMXXXWxqiW5ws,110
274
274
  pyedb/libraries/rf_libraries/base_functions.py,sha256=sRlE4LCKNyr8xwJ46c7nQ-aYhOPnsBKlnMFDjNFs-XE,44170
275
275
  pyedb/libraries/rf_libraries/planar_antennas.py,sha256=R98pdtnSwjF28cdnrUJBsBi_x9y94n91tqyUNximbxk,22717
276
276
  pyedb/misc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
277
- pyedb/misc/aedtlib_personalib_install.py,sha256=eCVAdEoriMU92bZwPzY9Aig85cBbUO0J8J4RMtMkY_o,1759
277
+ pyedb/misc/aedtlib_personalib_install.py,sha256=vfFd-e76uy0xg3P5VgBUF6JHmdVs9VqJapQtOeuq4ww,1763
278
278
  pyedb/misc/decorators.py,sha256=IhNafejj-qVyoq0J6X-oqPTBzuXoBcy4rMpfaqa-Qwg,1933
279
- pyedb/misc/downloads.py,sha256=Pgbx94ue2vwP_LkQczGyqu42F9a2Fn4AZ1zbeaNDjZI,10823
279
+ pyedb/misc/downloads.py,sha256=OnIG9RSfUy9UVNxLt_WZO4WpSVYCNj5aRT-6yeYKvvg,11495
280
280
  pyedb/misc/misc.py,sha256=EQtcRc6EnBdJVCMJvYqdG8whreLElBBU5qOElYEOgw4,3454
281
281
  pyedb/misc/pyedb.runtimeconfig.json,sha256=2xof-Vl0hY2VOs1KkMSReTMZACsZhcmPmyHXukfb-oY,301
282
282
  pyedb/misc/utilities.py,sha256=Ehmvkdluez-KcgCyum0nZcGthuJB4q6oLSgCr0KMk2s,2741
283
283
  pyedb/misc/siw_feature_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
- pyedb/misc/siw_feature_config/emc_rule_checker_settings.py,sha256=tmYihUppNI63gKrDmodB7LrmUSsg9Gk_7ZeA1tPxQec,7404
284
+ pyedb/misc/siw_feature_config/emc_rule_checker_settings.py,sha256=I6Pvq8a_uJnx_REGQb9DVbVWuaMA_dtudRaZvhl9pJ4,7467
285
285
  pyedb/misc/siw_feature_config/emc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
286
286
  pyedb/misc/siw_feature_config/emc/component_tags.py,sha256=pyOAMxbuvgtg6dV-gHWVFJ9NuHU-oZtJoK_WKliRcNY,1560
287
287
  pyedb/misc/siw_feature_config/emc/net_tags.py,sha256=HVYOQacmaLr6Mvf7FqZhqbhtqJLJgUSC3ojZdrl3eq0,1184
@@ -291,7 +291,7 @@ pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py,sha256=5MKJ8aoC
291
291
  pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py,sha256=wHeupbGkheUm1l8F9m4xfaKO-s_QSIiSL-6QH3yrCJY,2905
292
292
  pyedb/misc/siw_feature_config/xtalk_scan/net.py,sha256=iQBB2iIyvymLzJP4MTiyo_HTfFX09G1vQc_tOzaCLX8,3261
293
293
  pyedb/misc/siw_feature_config/xtalk_scan/pins.py,sha256=NBZLWFoDLGfBj-zGCcZGHzcuANrlfDu4XSbTeC5F8tU,2237
294
- pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=YmYI6WTQulL5Uf8WxeUI_sfpcVVPnFAjjygUNNhGMdo,3599
294
+ pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=O70Z4WBD5U8IAwiMLa1jnwXY9gnohiK7f9Iz6_5heBA,3576
295
295
  pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py,sha256=KHa-UqcXuabiVfT2CV-UvWl5Q2qGYHF2Ye9azcAlnXc,3966
296
296
  pyedb/modeler/geometry_operators.py,sha256=UbD1gaKzntKXsJCQ9Pzs32ZjSsnaOayTfAE0QTgfNwQ,74203
297
297
  pyedb/siwave_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -299,7 +299,7 @@ pyedb/siwave_core/icepak.py,sha256=WnZ-t8mik7LDY06V8hZFV-TxRZJQWK7bu_8Ichx-oBs,5
299
299
  pyedb/siwave_core/product_properties.py,sha256=m7HIMeYKJZqfzWbJklEOKqi3KJHwhj7W0SRbkRCng_c,5660
300
300
  pyedb/siwave_core/cpa/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
301
301
  pyedb/siwave_core/cpa/simulation_setup_data_model.py,sha256=hQsDCvfSDGv3kdDdkTjJYlQqrP1mT4_-_sR0_iQFxi8,5577
302
- pyedb-0.57.0.dist-info/licenses/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
303
- pyedb-0.57.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
304
- pyedb-0.57.0.dist-info/METADATA,sha256=uRzSk-8rWdFbFzK3Q_simXygoP9Sc-mXkxU_83zBVDo,8697
305
- pyedb-0.57.0.dist-info/RECORD,,
302
+ pyedb-0.58.0.dist-info/licenses/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
303
+ pyedb-0.58.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
304
+ pyedb-0.58.0.dist-info/METADATA,sha256=tvkDZ6KHeit_Le_UtZjDKEhqfnqKAxymIsboMGiHDfU,8653
305
+ pyedb-0.58.0.dist-info/RECORD,,
File without changes