pyedb 0.22.1__py3-none-any.whl → 0.24.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 (41) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_components.py +1 -1
  3. pyedb/configuration/cfg_ports_sources.py +3 -3
  4. pyedb/configuration/configuration.py +2 -2
  5. pyedb/dotnet/edb.py +55 -56
  6. pyedb/dotnet/edb_core/cell/hierarchy/component.py +1 -1
  7. pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +11 -0
  8. pyedb/dotnet/edb_core/cell/layout.py +30 -23
  9. pyedb/dotnet/edb_core/cell/layout_obj.py +0 -9
  10. pyedb/dotnet/edb_core/cell/primitive/__init__.py +3 -0
  11. pyedb/dotnet/edb_core/cell/{primitive.py → primitive/bondwire.py} +1 -146
  12. pyedb/dotnet/edb_core/cell/primitive/path.py +351 -0
  13. pyedb/dotnet/edb_core/cell/primitive/primitive.py +895 -0
  14. pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py +0 -4
  15. pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py +1 -1
  16. pyedb/dotnet/edb_core/cell/terminal/terminal.py +1 -1
  17. pyedb/dotnet/edb_core/components.py +26 -18
  18. pyedb/dotnet/edb_core/dotnet/database.py +1 -23
  19. pyedb/dotnet/edb_core/dotnet/primitive.py +3 -139
  20. pyedb/dotnet/edb_core/edb_data/nets_data.py +1 -11
  21. pyedb/dotnet/edb_core/edb_data/padstacks_data.py +12 -38
  22. pyedb/dotnet/edb_core/edb_data/primitives_data.py +56 -868
  23. pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -18
  24. pyedb/dotnet/edb_core/geometry/polygon_data.py +43 -0
  25. pyedb/dotnet/edb_core/hfss.py +27 -23
  26. pyedb/dotnet/edb_core/layout_validation.py +3 -3
  27. pyedb/dotnet/edb_core/materials.py +1 -1
  28. pyedb/dotnet/edb_core/modeler.py +65 -82
  29. pyedb/dotnet/edb_core/nets.py +8 -7
  30. pyedb/dotnet/edb_core/padstack.py +16 -17
  31. pyedb/dotnet/edb_core/siwave.py +2 -2
  32. pyedb/dotnet/edb_core/stackup.py +64 -87
  33. pyedb/ipc2581/ecad/cad_data/layer_feature.py +1 -1
  34. pyedb/ipc2581/ecad/cad_data/polygon.py +2 -2
  35. pyedb/ipc2581/ecad/cad_data/step.py +3 -3
  36. pyedb/ipc2581/ipc2581.py +2 -2
  37. pyedb/siwave.py +99 -0
  38. {pyedb-0.22.1.dist-info → pyedb-0.24.0.dist-info}/METADATA +3 -3
  39. {pyedb-0.22.1.dist-info → pyedb-0.24.0.dist-info}/RECORD +41 -38
  40. {pyedb-0.22.1.dist-info → pyedb-0.24.0.dist-info}/LICENSE +0 -0
  41. {pyedb-0.22.1.dist-info → pyedb-0.24.0.dist-info}/WHEEL +0 -0
pyedb/siwave.py CHANGED
@@ -9,11 +9,14 @@ automatically initialized by an app to the latest installed AEDT version.
9
9
  from __future__ import absolute_import # noreorder
10
10
 
11
11
  import os
12
+ from pathlib import Path
12
13
  import pkgutil
13
14
  import sys
15
+ import tempfile
14
16
  import time
15
17
  import warnings
16
18
 
19
+ from pyedb import Edb
17
20
  from pyedb.dotnet.clr_module import _clr
18
21
  from pyedb.edb_logger import pyedb_logger
19
22
  from pyedb.generic.general_methods import _pythonver, is_windows
@@ -28,6 +31,7 @@ def wait_export_file(flag, file_path, time_sleep=0.5):
28
31
  else:
29
32
  time.sleep(1)
30
33
  os.path.getsize(file_path)
34
+
31
35
  while True:
32
36
  file_size = os.path.getsize(file_path)
33
37
  if file_size > 0:
@@ -37,6 +41,17 @@ def wait_export_file(flag, file_path, time_sleep=0.5):
37
41
  return True
38
42
 
39
43
 
44
+ def wait_export_folder(flag, folder_path, time_sleep=0.5):
45
+ while True:
46
+ if os.path.exists(folder_path):
47
+ for root, _, files in os.walk(folder_path):
48
+ if any(os.path.getsize(os.path.join(root, file)) > 0 for file in files):
49
+ return True
50
+
51
+ # Wait before checking again.
52
+ time.sleep(time_sleep)
53
+
54
+
40
55
  class Siwave(object): # pragma no cover
41
56
  """Initializes SIwave based on the inputs provided and manages SIwave release and closing.
42
57
 
@@ -425,3 +440,87 @@ class Siwave(object): # pragma no cover
425
440
 
426
441
  """
427
442
  return self.oproject.ScrRunIcepakSimulation(icepak_simulation_name, dc_simulation_name)
443
+
444
+ def export_edb(self, file_path: str):
445
+ """Export the layout as EDB.
446
+
447
+ Parameters
448
+ ----------
449
+ file_path : str
450
+ Path to the EDB.
451
+
452
+ Returns
453
+ -------
454
+ bool
455
+ """
456
+ if isinstance(file_path, Path):
457
+ file_path = str(file_path)
458
+ flag = self.oproject.ScrExportEDB(file_path)
459
+ if flag == 0:
460
+ self._logger.info(f"Exporting EDB to {file_path}.")
461
+ return wait_export_folder(flag, file_path, time_sleep=1)
462
+ else: # pragma no cover
463
+ raise RuntimeError(f"Failed to export EDB to {file_path}.")
464
+
465
+ def import_edb(self, file_path: str):
466
+ """Import layout from EDB.
467
+
468
+ Parameters
469
+ ----------
470
+ file_path : Str
471
+ Path to the EDB file.
472
+ Returns
473
+ -------
474
+ bool
475
+ """
476
+ if isinstance(file_path, Path):
477
+ file_path = str(file_path)
478
+ flag = self.oproject.ScrImportEDB(file_path)
479
+ if flag == 0:
480
+ self._logger.info(f"Importing EDB to {file_path}.")
481
+ return True
482
+ else: # pragma no cover
483
+ raise RuntimeError(f"Failed to import EDB to {file_path}.")
484
+
485
+ def load_configuration(self, file_path: str):
486
+ """Load configuration settings from a configure file.Import
487
+
488
+ Parameters
489
+ ----------
490
+ file_path : str
491
+ Path to the configuration file.
492
+ """
493
+ if isinstance(file_path, Path):
494
+ file_path = str(file_path)
495
+
496
+ temp_folder = tempfile.TemporaryDirectory(suffix=".ansys")
497
+ temp_edb = os.path.join(temp_folder.name, "temp.aedb")
498
+
499
+ self.export_edb(temp_edb)
500
+ self.save_project()
501
+ self.oproject.ScrCloseProject()
502
+ edbapp = Edb(temp_edb, edbversion=self.current_version)
503
+ edbapp.configuration.load(file_path)
504
+ edbapp.configuration.run()
505
+ edbapp.save()
506
+ edbapp.close()
507
+ self.import_edb(temp_edb)
508
+
509
+ def export_configuration(self, file_path: str):
510
+ """Export layout information into a configuration file.
511
+
512
+ Parameters
513
+ ----------
514
+ file_path : str
515
+ Path to the configuration file.
516
+ """
517
+ if isinstance(file_path, Path):
518
+ file_path = str(file_path)
519
+
520
+ temp_folder = tempfile.TemporaryDirectory(suffix=".ansys")
521
+ temp_edb = os.path.join(temp_folder.name, "temp.aedb")
522
+
523
+ self.export_edb(temp_edb)
524
+ edbapp = Edb(temp_edb, edbversion=self.current_version)
525
+ edbapp.configuration.export(file_path)
526
+ edbapp.close()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.22.1
3
+ Version: 0.24.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>
@@ -40,12 +40,12 @@ Requires-Dist: Sphinx>=7.1.0,<7.4 ; extra == "doc"
40
40
  Requires-Dist: sphinx-autobuild==2024.2.4 ; extra == "doc" and ( python_version == '3.8')
41
41
  Requires-Dist: sphinx-autobuild==2024.2.4 ; extra == "doc" and ( python_version > '3.8')
42
42
  Requires-Dist: sphinx-copybutton>=0.5.0,<0.6 ; extra == "doc"
43
- Requires-Dist: sphinx-gallery>=0.14.0,<0.17 ; extra == "doc"
43
+ Requires-Dist: sphinx-gallery>=0.14.0,<0.18 ; extra == "doc"
44
44
  Requires-Dist: sphinx_design>=0.4.0,<0.7 ; extra == "doc"
45
45
  Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "full"
46
46
  Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "tests"
47
47
  Requires-Dist: mock>=5.1.0,<5.2 ; extra == "tests"
48
- Requires-Dist: pytest>=7.4.0,<8.3 ; extra == "tests"
48
+ Requires-Dist: pytest>=7.4.0,<8.4 ; extra == "tests"
49
49
  Requires-Dist: pytest-cov>=4.0.0,<5.1 ; extra == "tests"
50
50
  Requires-Dist: pytest-xdist>=3.5.0,<3.7 ; extra == "tests"
51
51
  Requires-Dist: scikit-rf ; extra == "tests"
@@ -1,13 +1,13 @@
1
- pyedb/__init__.py,sha256=aGJoyShOw-T16kkEdjWiiAZz944O0yLK-PpwX5lBoBc,1521
1
+ pyedb/__init__.py,sha256=Chvf1Pw0bR7i5T4tBFP8S_KsnyyrNNlKEd5zobtcK48,1521
2
2
  pyedb/edb_logger.py,sha256=yNkXnoL2me7ubLT6O6r6ElVnkZ1g8fmfFYC_2XJZ1Sw,14950
3
3
  pyedb/exceptions.py,sha256=n94xluzUks6BA24vd_L6HkrvoP_H_l6__hQmqzdCyPo,111
4
- pyedb/siwave.py,sha256=_AxkSZ-7P9aVmizWUWmwcqI07rpGsIZ_fYsd1WNjR6w,12986
4
+ pyedb/siwave.py,sha256=Mo-8ETIwTbPNbqfaDJkbl_G3Dp8mdtYFl54Ms9sGAZo,16004
5
5
  pyedb/workflow.py,sha256=Y0ya4FUHwlSmoLP45zjdYLsSpyKduHUSpT9GGK9MGd8,814
6
6
  pyedb/component_libraries/ansys_components.py,sha256=afelGEPmQzbFOIkHnvnWosSs3CqDT5j_kr_1bhrdfnI,3336
7
7
  pyedb/configuration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  pyedb/configuration/cfg_boundaries.py,sha256=ckb-OfaObItwy-xc0LqkHJyeCfKC5vg668olPjZbaKo,6647
9
9
  pyedb/configuration/cfg_common.py,sha256=5ne78TTA0wHpbi804nsUd9SPxNKZvut_X_Miu-xDRgk,1982
10
- pyedb/configuration/cfg_components.py,sha256=YPmaoVG0PO92yNKTbpi3LZNt01aNO75VHFJuY7DM94k,7684
10
+ pyedb/configuration/cfg_components.py,sha256=XGWvttmVpz7zHh9fpKFjsMiMy6KTP_GGsR3UGv8xuoI,7683
11
11
  pyedb/configuration/cfg_data.py,sha256=eSwdJ7ECP85oNGmmn3_1dK3lRQp4fS_uSYXD5TlNees,3631
12
12
  pyedb/configuration/cfg_general.py,sha256=0dtd-rkQt2aYR3EOL0c3sNuDuJs7htRos1OWck3rxaI,1626
13
13
  pyedb/configuration/cfg_nets.py,sha256=18NezeNh0ZOwk2ehz3zWJF_xYR7IYCqGlpDfDt7Ilho,2349
@@ -15,51 +15,54 @@ pyedb/configuration/cfg_operations.py,sha256=OzktdjLgHUm6_kCbMeuZ2mhUXfOIP6gXslm
15
15
  pyedb/configuration/cfg_package_definition.py,sha256=f_RRT9R-3H5kHBlc4QSpjq9uQgYbaKQ78XXXrc_r3kg,5296
16
16
  pyedb/configuration/cfg_padstacks.py,sha256=5t799x_mfwLjCAic-B13v3I6FgDswysXdcKmeOxz4Uo,5571
17
17
  pyedb/configuration/cfg_pin_groups.py,sha256=Aq5rlUU2z9iNMv5cBBwHHTlSglw5Upm8EA4g7CQwD5o,3823
18
- pyedb/configuration/cfg_ports_sources.py,sha256=bhpQB-WXxH0nAksYCxIn8q08U8KswWKv4Ui9p5jwskA,15741
18
+ pyedb/configuration/cfg_ports_sources.py,sha256=EhiWNeVZDsB2vMdxUgNSCJpcEK7dZPrKbRtaaYR67v4,15738
19
19
  pyedb/configuration/cfg_s_parameter_models.py,sha256=NzS3eBjBSnd7ZDk_TsX04dqRcRXompjx1DxCe1UzWMw,2855
20
20
  pyedb/configuration/cfg_setup.py,sha256=SPpNRLJusB-Cz2fDQkc6gkdilUqIlbNngoxF3zySt6g,10115
21
21
  pyedb/configuration/cfg_spice_models.py,sha256=tBY3okFiEffMGvBkpmZQrCrovpt-d62k51_WkkV4jqo,2435
22
22
  pyedb/configuration/cfg_stackup.py,sha256=CX7uNN5QRoYW_MOObknP8003YchTS7PH9Oee7FG0VKU,6589
23
- pyedb/configuration/configuration.py,sha256=coJU6y-y7VOGmH_NPXdEdoBdD_aZzYFx7sgvLKNm02E,12629
23
+ pyedb/configuration/configuration.py,sha256=ss0Jqj0pp4Up-4Hm-jBQGSAmF4uQjaELfyhxqPE2z4o,12627
24
24
  pyedb/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  pyedb/dotnet/clr_module.py,sha256=Mo13Of3DVSA5HR-5xZEXOiHApIKy52CUxtJ2gPkEu1A,3406
26
- pyedb/dotnet/edb.py,sha256=ps_zASr7shSBISTB2fsfayCWmTDJ9FTYhDL3T-2pAUg,180752
26
+ pyedb/dotnet/edb.py,sha256=7sNO4RxRPb3q_g5FYEiYfFS6jcNeqj8EW19JFk7dMxI,181348
27
27
  pyedb/dotnet/application/Variables.py,sha256=v_fxFJ6xjyyhk4uaMzWAbP-1FhXGuKsVNuyV1huaPME,77867
28
28
  pyedb/dotnet/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  pyedb/dotnet/edb_core/__init__.py,sha256=nIRLJ8VZLcMAp12zmGsnZ5x2BEEl7q_Kj_KAOXxVjpQ,52
30
- pyedb/dotnet/edb_core/components.py,sha256=lHpLiZj6uEsnZF-i-aUoLZNpvBBlYCk5cYFTGnGcSUA,110215
30
+ pyedb/dotnet/edb_core/components.py,sha256=Hi07An_cDV8CPlMV11BNQMFm823oz8-nfWXpbqYPKoQ,110543
31
31
  pyedb/dotnet/edb_core/general.py,sha256=1g2bUekyUbu8p8zCinT4eI7uqRGIK8tY8mfuFePGRGg,4415
32
- pyedb/dotnet/edb_core/hfss.py,sha256=Sh417lko4COeeod1C8sbBp6GkoTENEbALdYFOePnOcg,68535
32
+ pyedb/dotnet/edb_core/hfss.py,sha256=C6-to6YKoruQjRWedLY7agkTVQv4Hb2U2qX-iPzHOI0,68655
33
33
  pyedb/dotnet/edb_core/layout_obj_instance.py,sha256=Pd8rfdO3b6HLFGwXBMw-tfE4LPIcW_9_X5KEdFaiito,1407
34
- pyedb/dotnet/edb_core/layout_validation.py,sha256=aOYgttlJ007uGG94NnhZR_iNHTuCI5CHkHWWTcm9n-E,12617
35
- pyedb/dotnet/edb_core/materials.py,sha256=PvuxVmm7XGHZjfSy-gsuMKVwthfsW_LLQ3LTRz4YE6c,43167
36
- pyedb/dotnet/edb_core/modeler.py,sha256=8y6N4HyfJjBrbfac_mggO3qta4GH_dwmt9J4fdqN5WU,55920
34
+ pyedb/dotnet/edb_core/layout_validation.py,sha256=B2FIHsize6JZ5VhwN_3zBniK7iRC6dd01ujXYiliK0A,12604
35
+ pyedb/dotnet/edb_core/materials.py,sha256=zzYWIJ5dvOIO2H2vREpRnwGDx0hEa5QhCsg_EJkydww,43222
36
+ pyedb/dotnet/edb_core/modeler.py,sha256=iu16E6GXLlJZvsI_WTphyDDbFKX-i6_crFclTnNa--8,55316
37
37
  pyedb/dotnet/edb_core/net_class.py,sha256=4U6Cc1Gn7ZJ_ub9uKmtrsoz5wD1XS42afci3Y3ewRp0,11354
38
- pyedb/dotnet/edb_core/nets.py,sha256=CnZxnK_-WwOMzmJAEalxj_Xo3KlTSJNtf7Fn9x093Ak,43147
39
- pyedb/dotnet/edb_core/padstack.py,sha256=SO7rIfPYwLnbz0ddLPcgM9CVfhWAY1DfSQVixFJeRNc,63571
40
- pyedb/dotnet/edb_core/siwave.py,sha256=qhPTgFHaBThvlvch1po8uGsZdmOi1rVzEFHYv19DHPU,64317
41
- pyedb/dotnet/edb_core/stackup.py,sha256=o3mxqmYQptcLw-WiSo6QOL5sUZKHaDIXYMtU98pL2sU,120550
38
+ pyedb/dotnet/edb_core/nets.py,sha256=JZvrlPOKiRjbHAX6GkrYKvaXujHS3lz-rucS0Ib8ezk,43213
39
+ pyedb/dotnet/edb_core/padstack.py,sha256=al5cXfnJXyaM6-KCAd8D8-TZzcIXHwco8grD44U7gNY,63588
40
+ pyedb/dotnet/edb_core/siwave.py,sha256=4duoAsFCuPMNLxtMTEEVJCUaHKNkdbLDmtTXiD93VrM,64311
41
+ pyedb/dotnet/edb_core/stackup.py,sha256=_jvmLHpo5_4CM8V_xnB81WQrqJGsEHs3eECS8Y-buaQ,119804
42
42
  pyedb/dotnet/edb_core/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  pyedb/dotnet/edb_core/cell/connectable.py,sha256=rKWPATg0GCHi4d1ftu2V7WWhkDONjloCSPujssie5a8,2310
44
- pyedb/dotnet/edb_core/cell/layout.py,sha256=g9vMzja9VT9iLFJDz75zYWuE5FfdjquYWysoaIgu1kY,11877
45
- pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=fVLjHMsokK2eEILTBo_9lEpjJCP0bkdk5RFZclnTi4o,3088
46
- pyedb/dotnet/edb_core/cell/primitive.py,sha256=WHiX5ROLMYf71ZuX-4TrOUhRcI6RLiUPap7AzajO2YA,11704
44
+ pyedb/dotnet/edb_core/cell/layout.py,sha256=wDJI5Urhif5QCKqkrqhN2eDviLCsiRf-hu1L59dbLAg,12114
45
+ pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=S42rdiI6gVqO77DV3ikc4YxTNufTuqW_X1G-2zkWArA,2765
47
46
  pyedb/dotnet/edb_core/cell/voltage_regulator.py,sha256=-uAzuyERV6ca0bFRzdH4SllcpGY2D9JEdpS7RYaQt6c,5387
48
47
  pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
- pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=jvS1VXhm58zkSSPOBUazL67JxMGQjMGSC6pE4Hw_4DM,33859
50
- pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py,sha256=QZhkoSxRnewxvX8HJKHx-jcw-eIR3eudmDqFQbvltfM,1896
48
+ pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=3dkbGO8Wsmbq3n9JaFixJXfvQ5aNqC8OMo43-KPukUc,33851
49
+ pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py,sha256=OUNK6INKlbJkCbzy6jKZzrQs7fvCR1qiTjt7te0S7nQ,2160
51
50
  pyedb/dotnet/edb_core/cell/hierarchy/model.py,sha256=LwXE4VUfptG5rJ9gmAmye0hECBv7bUGtby1ZzNFkeT0,3198
52
51
  pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py,sha256=fF6tY-6s-lW9EuvJ5sw3RlIkjuoSjeZbrNk5wG-_hzM,1356
53
52
  pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py,sha256=4zo2ut6UAeJqxw70n1luWg2QGEeuMRoVcEcdC9bYG50,3846
54
53
  pyedb/dotnet/edb_core/cell/hierarchy/s_parameter_model.py,sha256=o7Omw4R9uQGCBDj4dIU-R73Uf6v3p_zKLMAzJlaH9VA,1456
55
54
  pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py,sha256=SGiUcan2l0n8DGk3GtwCskkqZ3rdVHMSS_fGlAfwJSk,1443
55
+ pyedb/dotnet/edb_core/cell/primitive/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
56
+ pyedb/dotnet/edb_core/cell/primitive/bondwire.py,sha256=fqIMdv0bNvk591DG6De5c--w9Rpkl5AOeo_qgzoPE6M,7322
57
+ pyedb/dotnet/edb_core/cell/primitive/path.py,sha256=XVN7dOVpccoBP28M8l5iMzK5QSQdHqpKqC4jK76UTis,12543
58
+ pyedb/dotnet/edb_core/cell/primitive/primitive.py,sha256=IMGIaPCY8wpq3uInizwc1ObmdsTn5kg9YEqk9uztRuU,29764
56
59
  pyedb/dotnet/edb_core/cell/terminal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py,sha256=TRPlsLH3_QOlDa5s8-tx399fkpJ3eJ8ictuCvlgkai0,2050
58
- pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py,sha256=MvmKA0JGVeqGx7smuMOVPaQ_PESJmi34oUL9OH5oKiY,2137
60
+ pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py,sha256=qM0wEXkZ-DpoJ6vlVa560Ce8IgOdp4vyIJPedvoa3O0,1977
61
+ pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py,sha256=lafPRrvsDPYKcysvrkO-5tEZXF3h4IcTXdeJgTjleuI,2158
59
62
  pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py,sha256=HOMNvSj8thN3RgSg2eDb_CE8PpqkcVLrIYPZGOW-IQk,3803
60
63
  pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py,sha256=M5qZNH-MLDkgSJABNVKmnBLyLgezm2fqJGl70EyPVUo,2586
61
64
  pyedb/dotnet/edb_core/cell/terminal/point_terminal.py,sha256=DafZBGjUx_OE8gZWcUKPh4cH3BRkJSj9XolhzIPOE3I,2400
62
- pyedb/dotnet/edb_core/cell/terminal/terminal.py,sha256=eeM9peo4Jfu9WWwCoRX8X0dRdW3rM_aqXRuqWw_8fi8,19228
65
+ pyedb/dotnet/edb_core/cell/terminal/terminal.py,sha256=MvUi-03IHMm29KT_ujN3w88AdGx__dS2DfVxG4_MHok,19223
63
66
  pyedb/dotnet/edb_core/definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
67
  pyedb/dotnet/edb_core/definition/component_def.py,sha256=tYZ4L6DigwSjdQJ5AlqEbordPVZyJ6hYFNc6b3QnJ18,6514
65
68
  pyedb/dotnet/edb_core/definition/component_model.py,sha256=PhT5voy3qk8fsp94dK6TN_Zxz5aXwO_mmeIwWm7C_Hs,1944
@@ -67,26 +70,26 @@ pyedb/dotnet/edb_core/definition/definition_obj.py,sha256=QKlR8DNpNaOd00sY1ybEZA
67
70
  pyedb/dotnet/edb_core/definition/definitions.py,sha256=9Zjl5LNidDBk07m-QGpducWfFsyE52pScI8PC5f0doU,2383
68
71
  pyedb/dotnet/edb_core/definition/package_def.py,sha256=UoYNdfrB5j0rG4OK94yE25dCTzHcpDjSEn4L2yF10YY,6145
69
72
  pyedb/dotnet/edb_core/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- pyedb/dotnet/edb_core/dotnet/database.py,sha256=xyISmY691ItgM_Fqos3Bra4BRnxCJVU4M1Ueg4V9ixg,37324
71
- pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=k9ltBCWtekt-iiZj8r0yEDp2dWSxKm19SaMqDGkL-ac,54135
73
+ pyedb/dotnet/edb_core/dotnet/database.py,sha256=9mfEg451IX3Y8PKnyhbVPApqtgmB9R4VTeWyfux8Q0A,36691
74
+ pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=GVXsOtTowFiuxFw-Sdv80lv0XZFpoLr4KIj80bEDd7U,49942
72
75
  pyedb/dotnet/edb_core/edb_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
76
  pyedb/dotnet/edb_core/edb_data/control_file.py,sha256=_W5DDBFvm4gTq8yCvhzfiWUsfpQK4PnLkjmntIYvW8E,48217
74
77
  pyedb/dotnet/edb_core/edb_data/design_options.py,sha256=RO9ip-T5Bfxpsl97_QEk0qDZsza3tLzIX2t25XLutys,2057
75
78
  pyedb/dotnet/edb_core/edb_data/edbvalue.py,sha256=Vj_11HXsQUNavizKp5FicORm6cjhXRh9uvxhv_D_RJc,1977
76
79
  pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=hKFHWUl0_OCMEZJbQn5c8Y1a-BYKr8nAycIlrCoeufk,13005
77
80
  pyedb/dotnet/edb_core/edb_data/layer_data.py,sha256=B6cClg5KTcKUn33jYccTN0uNZZ5dQ037WHCsI-vg3Us,25748
78
- pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=ICF61kgST9Rm4hUqU3KUh8FMNlrZEVQO1LqZR1VADkA,9979
79
- pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=atUTmNcR7qZ9GASM7_j8sQyjUM-IWePMbDBJ1A9kDZc,78359
81
+ pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=Ifi5uSfnOuTLwesO9TS3_F-qa_8rpPXrJy6W5lvIWik,9684
82
+ pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=wOBO86cFGnx8OIsALzlQv59XeSGBhUYhJa7rksySGRE,77523
80
83
  pyedb/dotnet/edb_core/edb_data/ports.py,sha256=wr2RQi8VExuNIVmnp7c4VpTIhODgthmJmHr01zO4ueo,8873
81
- pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=i6mC-y19iiO9Tr4w3A4Usrd_flyeUSPnxLCz980qFyA,43442
84
+ pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=AkZOS-Uam_SLXy1WpPPlSWCyD1IyQ8afxFcl8gi0A_E,15426
82
85
  pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py,sha256=P37-OIsc8TuTC_s3CXRmvZcJqxAftHA7SATfEyoAnMM,20953
83
- pyedb/dotnet/edb_core/edb_data/simulation_configuration.py,sha256=3qx-YHiA4oC9TJboXb7fKQSzCn5SJRwVOe1OmuVZbmc,100927
86
+ pyedb/dotnet/edb_core/edb_data/simulation_configuration.py,sha256=Z_Iuh7qgj9s0PwmlOOdBOC47imBTgWPAWt8KxGNZmZQ,100432
84
87
  pyedb/dotnet/edb_core/edb_data/sources.py,sha256=jzC6p-fiuPEvZn3b9z1-X5UexW5jd48jZRamXillnXI,15700
85
88
  pyedb/dotnet/edb_core/edb_data/utilities.py,sha256=3wZqOJ35eisOwOPKOs-bvJ8kmd62e46EiFuiFtsroB4,4928
86
89
  pyedb/dotnet/edb_core/edb_data/variables.py,sha256=LS1jZPOYgRvf4cyKf_x8hI9Brs-qbh4wrHu_QGLElrg,3501
87
90
  pyedb/dotnet/edb_core/geometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
91
  pyedb/dotnet/edb_core/geometry/point_data.py,sha256=hC9cRuSnX4cwg09Jr0ZK7ZTjFf_4NwXJMGbZ3s-ULpQ,1590
89
- pyedb/dotnet/edb_core/geometry/polygon_data.py,sha256=NQxTlbGPLHf2rW8wgHQzpbPf0zWHTFolsRTUNl1wOMI,2879
92
+ pyedb/dotnet/edb_core/geometry/polygon_data.py,sha256=xVOru_HeSnJf3bczTgmV-Izrv-ae2b4270Xbck8LwFM,4593
90
93
  pyedb/dotnet/edb_core/sim_setup_data/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
91
94
  pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
92
95
  pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py,sha256=tlHI7PUUoseNnJAtihpjb1PwXYNr-4ztAAnunlLLWVQ,2463
@@ -115,7 +118,7 @@ pyedb/generic/process.py,sha256=DiOanqNq5APYryBYo3Wt4mQ54cBR9-ULrrIOqGE4S8c,1110
115
118
  pyedb/generic/settings.py,sha256=QTX5OVZ8sVPIy_QaSxRODUWvoXkYkVpzh3l6pQPseKQ,9220
116
119
  pyedb/ipc2581/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
120
  pyedb/ipc2581/history_record.py,sha256=s1GjcIgnZHlNCBOeEERBDX7xDuqhXmh2Ctt3ccFDWso,2739
118
- pyedb/ipc2581/ipc2581.py,sha256=aXykGGocgEu0aeBxH0GPLALTCt8a9Lz-ekdF3vGtKJk,22525
121
+ pyedb/ipc2581/ipc2581.py,sha256=m_hPmutfDdPWfDZ33znsm54MkmxUA_pIR5-P-79fPbc,22516
119
122
  pyedb/ipc2581/logistic_header.py,sha256=ETWntlLgKczjBKR1jtzAe6M7YZLmpSx6ZlbUe3K7wz0,2092
120
123
  pyedb/ipc2581/bom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
124
  pyedb/ipc2581/bom/bom.py,sha256=yZ_OwJLHGht8Fn3N1xaROy7QRuCs1PbjCb4OB6wTanQ,1853
@@ -144,7 +147,7 @@ pyedb/ipc2581/ecad/cad_data/component.py,sha256=uE2_IyITp5TQ8y2K4ojk212471RPYrDw
144
147
  pyedb/ipc2581/ecad/cad_data/drill.py,sha256=COfVTiOueJQhSd19eV1usuHp7BT8KrhDc9VXM-e7TkM,2083
145
148
  pyedb/ipc2581/ecad/cad_data/feature.py,sha256=W2BSD8lBB3oBEhdqFe6V7chT5g_t7GA-uKE01cFUQpw,3023
146
149
  pyedb/ipc2581/ecad/cad_data/layer.py,sha256=IA4De_4WgcTZi3d2o5FPptYjNobai3W3FexUT_4-t9o,2270
147
- pyedb/ipc2581/ecad/cad_data/layer_feature.py,sha256=d2w509r5njZVzVKwl_tUdWrjFLgSyvYAQOqXFoSEAGA,8382
150
+ pyedb/ipc2581/ecad/cad_data/layer_feature.py,sha256=7Gcp9jAgROCWsnkDXAxwhHiV529krxejAQy3JHbLzm4,8394
148
151
  pyedb/ipc2581/ecad/cad_data/logical_net.py,sha256=6ChBFNDLqPLF-DzPWCfVwereiGNt0OGD5IbLF9ZHFTY,2042
149
152
  pyedb/ipc2581/ecad/cad_data/outline.py,sha256=Nnb4FJQ9PsKAu8L0PBYRMLhAaBt39sXi0SQnjV8xamM,2197
150
153
  pyedb/ipc2581/ecad/cad_data/package.py,sha256=38XBlIZVysF8F7nNuNWkkK7qWQ-7a6ZLLitOKONqgF4,5484
@@ -155,12 +158,12 @@ pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py,sha256=ihojy_KwERcIOOYVUIUMJD7fH
155
158
  pyedb/ipc2581/ecad/cad_data/path.py,sha256=np8yAFhpua6kWzv5ObuaovLymwpFDatA0fZ1POiZoV8,4960
156
159
  pyedb/ipc2581/ecad/cad_data/phy_net.py,sha256=d2keM6cOqATRbdrmTBcJREZjW_bVBXt5CEI44ksYTIo,3640
157
160
  pyedb/ipc2581/ecad/cad_data/pin.py,sha256=15jx5iS29QRTuvJxt0k5AQD5HNP5Frv6qqH0sTHSBmM,2124
158
- pyedb/ipc2581/ecad/cad_data/polygon.py,sha256=tkoPfLKEdOVGny823SELSd1AiByMLx4rdgdNtRYkLBc,8771
161
+ pyedb/ipc2581/ecad/cad_data/polygon.py,sha256=sDN_ewBKIlDD394Zu_b2Xp203r-ZzDEn1k7EFhTA03k,8795
159
162
  pyedb/ipc2581/ecad/cad_data/profile.py,sha256=H7f0KdCQJhR8bc7jn7rjUlLPLo0wr0x5sabxA47LEyw,2781
160
163
  pyedb/ipc2581/ecad/cad_data/stackup.py,sha256=_CyyYwFjrVyQEpsL_4bFSz9U1sMTWhfLUov6RdhdITE,2274
161
164
  pyedb/ipc2581/ecad/cad_data/stackup_group.py,sha256=zRtg9Va6SQn6eJOiB_8cvSptAbUa-SQbwB4e4Kr2N0Q,2717
162
165
  pyedb/ipc2581/ecad/cad_data/stackup_layer.py,sha256=SMkX9wrHdxbVn6hcPqlAbWz14IKiVy3dg9Dj6V-dcGA,1970
163
- pyedb/ipc2581/ecad/cad_data/step.py,sha256=p4X0LGECdI4dTtxgh0oAkjQtd6G7FrZYwW-qrsRyrMM,12296
166
+ pyedb/ipc2581/ecad/cad_data/step.py,sha256=DT6KfkoGoov7o3HY3omYKVe1gWIbKLChEN11jlIhKE8,12319
164
167
  pyedb/misc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
168
  pyedb/misc/aedtlib_personalib_install.py,sha256=eCVAdEoriMU92bZwPzY9Aig85cBbUO0J8J4RMtMkY_o,1759
166
169
  pyedb/misc/downloads.py,sha256=j9jJhwGTTJwm4WWaCSEhGZzOGyOyHhBAFexx0NtD4Uw,10824
@@ -182,7 +185,7 @@ pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=YmYI6WTQulL5Uf8Wx
182
185
  pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py,sha256=KHa-UqcXuabiVfT2CV-UvWl5Q2qGYHF2Ye9azcAlnXc,3966
183
186
  pyedb/modeler/geometry_operators.py,sha256=g_Sy7a6R23sP6RtboJn1rl8uTuo8oeLmMF21rNkzwjk,74198
184
187
  pyedb/siwave_core/icepak.py,sha256=WnZ-t8mik7LDY06V8hZFV-TxRZJQWK7bu_8Ichx-oBs,5206
185
- pyedb-0.22.1.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
186
- pyedb-0.22.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
187
- pyedb-0.22.1.dist-info/METADATA,sha256=ggDIgzAO9DRVSItoBXoaskYZIA0xzSSv8hSosVGDOS4,8387
188
- pyedb-0.22.1.dist-info/RECORD,,
188
+ pyedb-0.24.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
189
+ pyedb-0.24.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
190
+ pyedb-0.24.0.dist-info/METADATA,sha256=G3Lci5o6XNKqCo9-qFMpgqZ3Sd2ihk0vnFdJTWnk4b0,8387
191
+ pyedb-0.24.0.dist-info/RECORD,,
File without changes