pyedb 0.28.0__py3-none-any.whl → 0.29.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.
@@ -190,9 +190,9 @@ class LayoutValidation:
190
190
  l1 = objs[0].get_connected_object_id_set()
191
191
  l1.append(objs[0].id)
192
192
  repetition = False
193
- for net_list in net_groups:
194
- if set(l1).intersection(net_list):
195
- net_groups.append([i for i in l1 if i not in net_list])
193
+ for id_by_net in net_groups:
194
+ if set(l1).intersection(id_by_net):
195
+ net_groups.append([i for i in l1 if i not in id_by_net])
196
196
  repetition = True
197
197
  if not repetition:
198
198
  net_groups.append(l1)
@@ -444,6 +444,7 @@ class EdbNets(object):
444
444
  codes.append(79)
445
445
  objects_lists.append([vertices, codes, "b", "Outline", 1.0, 1.5, "contour"])
446
446
  n_label += 1
447
+ layer_colors = {i: k.color for i, k in self._pedb.stackup.layers.items()}
447
448
  top_layer = list(self._pedb.stackup.signal_layers.keys())[0]
448
449
  bottom_layer = list(self._pedb.stackup.signal_layers.keys())[-1]
449
450
  if plot_components_on_top or plot_components_on_bottom:
@@ -481,206 +482,186 @@ class EdbNets(object):
481
482
  objects_lists.append([vertices, codes, label_colors[label], None, 1.0, 2.0, "contour"])
482
483
  nc += 1
483
484
  self._logger.debug("Plotted {} component(s)".format(nc))
484
-
485
- for path in self._pedb.modeler.paths:
486
- if path.is_void:
485
+ for prim in self._pedb.modeler.primitives:
486
+ if prim.is_void:
487
487
  continue
488
- net_name = path.net_name
489
- layer_name = path.layer_name
488
+ net_name = prim.net_name
489
+ layer_name = prim.layer_name
490
490
  if nets and (net_name not in nets or layer_name not in layers):
491
491
  continue
492
- try:
493
- x, y = path.points()
494
- except ValueError:
495
- x = None
496
- if not x:
497
- continue
498
- create_label = False
499
- if not color_by_net:
500
- label = "Layer " + layer_name
501
- if label not in label_colors:
502
- try:
503
- color = path.layer.GetColor()
504
- c = (
505
- float(color.Item1 / 255),
506
- float(color.Item2 / 255),
507
- float(color.Item3 / 255),
508
- )
509
- except:
510
- c = list(CSS4_COLORS.keys())[color_index]
492
+ prim_type = prim.primitive_type
493
+ if prim_type == "path":
494
+ try:
495
+ x, y = prim.points()
496
+ except ValueError:
497
+ x = None
498
+ if not x:
499
+ continue
500
+ create_label = False
501
+ if not color_by_net:
502
+ label = "Layer " + layer_name
503
+ if label not in label_colors:
504
+ try:
505
+ color = layer_colors[layer_name]
506
+ c = (
507
+ float(color[0] / 255),
508
+ float(color[1] / 255),
509
+ float(color[2] / 255),
510
+ )
511
+ except:
512
+ c = list(CSS4_COLORS.keys())[color_index]
513
+ color_index += 1
514
+ if color_index >= len(CSS4_COLORS):
515
+ color_index = 0
516
+ label_colors[label] = c
517
+ create_label = True
518
+ else:
519
+ label = "Net " + net_name
520
+ if label not in label_colors:
521
+ label_colors[label] = list(CSS4_COLORS.keys())[color_index]
511
522
  color_index += 1
512
523
  if color_index >= len(CSS4_COLORS):
513
524
  color_index = 0
514
- label_colors[label] = c
515
- create_label = True
516
- else:
517
- label = "Net " + net_name
518
- if label not in label_colors:
519
- label_colors[label] = list(CSS4_COLORS.keys())[color_index]
520
- color_index += 1
521
- if color_index >= len(CSS4_COLORS):
522
- color_index = 0
523
- create_label = True
524
-
525
- if create_label and n_label <= max_labels:
526
- objects_lists.append([x, y, label_colors[label], label, 0.4, "fill"])
527
- n_label += 1
528
- else:
529
- objects_lists.append([x, y, label_colors[label], None, 0.4, "fill"])
525
+ create_label = True
530
526
 
531
- for poly in self._pedb.modeler.polygons:
532
- if poly.is_void:
533
- continue
534
- net_name = poly.net_name
535
- layer_name = poly.layer_name
536
- if nets and (net_name != "" and net_name not in nets or layer_name not in layers):
537
- continue
538
- xt, yt = poly.points()
539
- if not xt:
540
- continue
541
- x, y = GeometryOperators.orient_polygon(xt, yt, clockwise=True)
542
- vertices = [(i, j) for i, j in zip(x, y)]
543
- codes = [2 for _ in vertices]
544
- codes[0] = 1
545
- vertices.append((0, 0))
546
- codes.append(79)
527
+ if create_label and n_label <= max_labels:
528
+ objects_lists.append([x, y, label_colors[label], label, 0.4, "fill"])
529
+ n_label += 1
530
+ else:
531
+ objects_lists.append([x, y, label_colors[label], None, 0.4, "fill"])
532
+ elif prim_type == "polygon":
533
+ xt, yt = prim.points()
534
+ if not xt:
535
+ continue
536
+ x, y = GeometryOperators.orient_polygon(xt, yt, clockwise=True)
537
+ vertices = [(i, j) for i, j in zip(x, y)]
538
+ codes = [2 for _ in vertices]
539
+ codes[0] = 1
540
+ vertices.append((0, 0))
541
+ codes.append(79)
547
542
 
548
- for void in poly.voids:
549
- xvt, yvt = void.points()
550
- if xvt:
551
- xv, yv = GeometryOperators.orient_polygon(xvt, yvt, clockwise=False)
552
- tmpV = [(i, j) for i, j in zip(xv, yv)]
553
- vertices.extend(tmpV)
554
- tmpC = [2 for _ in tmpV]
555
- tmpC[0] = 1
556
- codes.extend(tmpC)
557
- vertices.append((0, 0))
558
- codes.append(79)
559
-
560
- create_label = False
561
- if not color_by_net:
562
- label = "Layer " + layer_name
563
- if label not in label_colors:
564
- try:
565
- color = poly.GetLayer().GetColor()
566
- c = (
567
- float(color.Item1 / 255),
568
- float(color.Item2 / 255),
569
- float(color.Item3 / 255),
570
- )
571
- except:
572
- c = list(CSS4_COLORS.keys())[color_index]
543
+ for void in prim.voids:
544
+ xvt, yvt = void.points()
545
+ if xvt:
546
+ xv, yv = GeometryOperators.orient_polygon(xvt, yvt, clockwise=False)
547
+ tmpV = [(i, j) for i, j in zip(xv, yv)]
548
+ vertices.extend(tmpV)
549
+ tmpC = [2 for _ in tmpV]
550
+ tmpC[0] = 1
551
+ codes.extend(tmpC)
552
+ vertices.append((0, 0))
553
+ codes.append(79)
554
+
555
+ create_label = False
556
+ if not color_by_net:
557
+ label = "Layer " + layer_name
558
+ if label not in label_colors:
559
+ try:
560
+ color = layer_colors[layer_name]
561
+ c = (
562
+ float(color[0] / 255),
563
+ float(color[1] / 255),
564
+ float(color[2] / 255),
565
+ )
566
+ except:
567
+ c = list(CSS4_COLORS.keys())[color_index]
568
+ color_index += 1
569
+ if color_index >= len(CSS4_COLORS):
570
+ color_index = 0
571
+ label_colors[label] = c
572
+ create_label = True
573
+ else:
574
+ label = "Net " + net_name
575
+ if label not in label_colors:
576
+ label_colors[label] = list(CSS4_COLORS.keys())[color_index]
573
577
  color_index += 1
574
578
  if color_index >= len(CSS4_COLORS):
575
579
  color_index = 0
576
- label_colors[label] = c
577
- create_label = True
578
- else:
579
- label = "Net " + net_name
580
- if label not in label_colors:
581
- label_colors[label] = list(CSS4_COLORS.keys())[color_index]
582
- color_index += 1
583
- if color_index >= len(CSS4_COLORS):
584
- color_index = 0
585
- create_label = True
586
-
587
- if create_label and n_label <= max_labels:
588
- if layer_name == "Outline":
589
- objects_lists.append([vertices, codes, label_colors[label], label, 1.0, 2.0, "contour"])
580
+ create_label = True
581
+
582
+ if create_label and n_label <= max_labels:
583
+ if layer_name == "Outline":
584
+ objects_lists.append([vertices, codes, label_colors[label], label, 1.0, 2.0, "contour"])
585
+ else:
586
+ objects_lists.append([vertices, codes, label_colors[label], label, 0.4, "path"])
587
+ n_label += 1
590
588
  else:
591
- objects_lists.append([vertices, codes, label_colors[label], label, 0.4, "path"])
592
- n_label += 1
593
- else:
594
- if layer_name == "Outline":
595
- objects_lists.append([vertices, codes, label_colors[label], None, 1.0, 2.0, "contour"])
589
+ if layer_name == "Outline":
590
+ objects_lists.append([vertices, codes, label_colors[label], None, 1.0, 2.0, "contour"])
591
+ else:
592
+ objects_lists.append([vertices, codes, label_colors[label], None, 0.4, "path"])
593
+ elif prim_type == "circle":
594
+ x, y = prim.points()
595
+ if not x:
596
+ continue
597
+ create_label = False
598
+ if not color_by_net:
599
+ label = "Layer " + layer_name
600
+ if label not in label_colors:
601
+ try:
602
+ color = layer_colors[layer_name]
603
+ c = (
604
+ float(color[0] / 255),
605
+ float(color[1] / 255),
606
+ float(color[2] / 255),
607
+ )
608
+ except:
609
+ c = list(CSS4_COLORS.keys())[color_index]
610
+ color_index += 1
611
+ if color_index >= len(CSS4_COLORS):
612
+ color_index = 0
613
+ label_colors[label] = c
614
+ create_label = True
596
615
  else:
597
- objects_lists.append([vertices, codes, label_colors[label], None, 0.4, "path"])
598
-
599
- for circle in self._pedb.modeler.circles:
600
- if circle.is_void:
601
- continue
602
- net_name = circle.net_name
603
- layer_name = circle.layer_name
604
- if nets and (net_name not in nets or layer_name not in layers):
605
- continue
606
- x, y = circle.points()
607
- if not x:
608
- continue
609
- create_label = False
610
- if not color_by_net:
611
- label = "Layer " + layer_name
612
- if label not in label_colors:
613
- try:
614
- color = circle.layer.GetColor()
615
- c = (
616
- float(color.Item1 / 255),
617
- float(color.Item2 / 255),
618
- float(color.Item3 / 255),
619
- )
620
- except:
621
- c = list(CSS4_COLORS.keys())[color_index]
616
+ label = "Net " + net_name
617
+ if label not in label_colors:
618
+ label_colors[label] = list(CSS4_COLORS.keys())[color_index]
622
619
  color_index += 1
623
620
  if color_index >= len(CSS4_COLORS):
624
621
  color_index = 0
625
- label_colors[label] = c
626
- create_label = True
627
- else:
628
- label = "Net " + net_name
629
- if label not in label_colors:
630
- label_colors[label] = list(CSS4_COLORS.keys())[color_index]
631
- color_index += 1
632
- if color_index >= len(CSS4_COLORS):
633
- color_index = 0
634
- create_label = True
635
-
636
- if create_label and n_label <= max_labels:
637
- objects_lists.append([x, y, label_colors[label], label, 0.4, "fill"])
638
- n_label += 1
639
- else:
640
- objects_lists.append([x, y, label_colors[label], None, 0.4, "fill"])
622
+ create_label = True
641
623
 
642
- for rect in self._pedb.modeler.rectangles:
643
- if rect.is_void:
644
- continue
645
- net_name = rect.net_name
646
- layer_name = rect.layer_name
647
- if nets and (net_name not in nets or layer_name not in layers):
648
- continue
649
- x, y = rect.points()
650
- if not x:
651
- continue
652
- create_label = False
653
- if not color_by_net:
654
- label = "Layer " + layer_name
655
- if label not in label_colors:
656
- try:
657
- color = rect.layer.GetColor()
658
- c = (
659
- float(color.Item1 / 255),
660
- float(color.Item2 / 255),
661
- float(color.Item3 / 255),
662
- )
663
- except:
664
- c = list(CSS4_COLORS.keys())[color_index]
624
+ if create_label and n_label <= max_labels:
625
+ objects_lists.append([x, y, label_colors[label], label, 0.4, "fill"])
626
+ n_label += 1
627
+ else:
628
+ objects_lists.append([x, y, label_colors[label], None, 0.4, "fill"])
629
+ elif prim_type == "rectangle":
630
+ x, y = prim.points()
631
+ if not x:
632
+ continue
633
+ create_label = False
634
+ if not color_by_net:
635
+ label = "Layer " + layer_name
636
+ if label not in label_colors:
637
+ try:
638
+ color = layer_colors[layer_name]
639
+ c = (
640
+ float(color[0] / 255),
641
+ float(color[1] / 255),
642
+ float(color[2] / 255),
643
+ )
644
+ except:
645
+ c = list(CSS4_COLORS.keys())[color_index]
646
+ color_index += 1
647
+ if color_index >= len(CSS4_COLORS):
648
+ color_index = 0
649
+ label_colors[label] = c
650
+ create_label = True
651
+ else:
652
+ label = "Net " + net_name
653
+ if label not in label_colors:
654
+ label_colors[label] = list(CSS4_COLORS.keys())[color_index]
665
655
  color_index += 1
666
656
  if color_index >= len(CSS4_COLORS):
667
657
  color_index = 0
668
- label_colors[label] = c
669
- create_label = True
670
- else:
671
- label = "Net " + net_name
672
- if label not in label_colors:
673
- label_colors[label] = list(CSS4_COLORS.keys())[color_index]
674
- color_index += 1
675
- if color_index >= len(CSS4_COLORS):
676
- color_index = 0
677
- create_label = True
678
-
679
- if create_label and n_label <= max_labels:
680
- objects_lists.append([x, y, label_colors[label], label, 0.4, "fill"])
681
- n_label += 1
682
- else:
683
- objects_lists.append([x, y, label_colors[label], None, 0.4, "fill"])
658
+ create_label = True
659
+
660
+ if create_label and n_label <= max_labels:
661
+ objects_lists.append([x, y, label_colors[label], label, 0.4, "fill"])
662
+ n_label += 1
663
+ else:
664
+ objects_lists.append([x, y, label_colors[label], None, 0.4, "fill"])
684
665
 
685
666
  end_time = time.time() - start_time
686
667
  self._logger.info("Nets Point Generation time %s seconds", round(end_time, 3))
@@ -782,7 +763,7 @@ class EdbNets(object):
782
763
  fig_size_y = board_size_y * fig_size_x / board_size_x
783
764
  size = (fig_size_x, fig_size_y)
784
765
 
785
- plot_matplotlib(
766
+ return plot_matplotlib(
786
767
  plot_data=object_lists,
787
768
  size=size,
788
769
  show_legend=show_legend,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.28.0
3
+ Version: 0.29.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>
@@ -38,7 +38,7 @@ Requires-Dist: pypandoc>=1.10.0,<1.14 ; extra == "doc"
38
38
  Requires-Dist: recommonmark ; extra == "doc"
39
39
  Requires-Dist: Sphinx>=7.1.0,<8.1 ; extra == "doc"
40
40
  Requires-Dist: sphinx-autobuild==2021.3.14 ; extra == "doc" and ( python_version == '3.8')
41
- Requires-Dist: sphinx-autobuild==2024.2.4 ; extra == "doc" and ( python_version > '3.8')
41
+ Requires-Dist: sphinx-autobuild==2024.9.19 ; extra == "doc" and ( python_version > '3.8')
42
42
  Requires-Dist: sphinx-copybutton>=0.5.0,<0.6 ; extra == "doc"
43
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"
@@ -1,29 +1,29 @@
1
- pyedb/__init__.py,sha256=i2Y8_oZHdAU8T5kqsiHeENkfm9LyD8AcJUy50FaBecM,1521
1
+ pyedb/__init__.py,sha256=COiSZ1vj_2OSaMqSgyfOmdERHaQq_6eGg-pLRyxvazs,1521
2
2
  pyedb/edb_logger.py,sha256=7KXPvAMCKzlzJ5zioiNO5A3zkqbpCHhWHB4aXKfgu5Y,14959
3
3
  pyedb/exceptions.py,sha256=n94xluzUks6BA24vd_L6HkrvoP_H_l6__hQmqzdCyPo,111
4
4
  pyedb/siwave.py,sha256=6SL3PnklGMbVOsstvJJ1fx3D3YkBWr27pYDUG-U4VB8,17520
5
5
  pyedb/workflow.py,sha256=Y0ya4FUHwlSmoLP45zjdYLsSpyKduHUSpT9GGK9MGd8,814
6
6
  pyedb/component_libraries/ansys_components.py,sha256=O3ypt832IHY9zG2AD_yrRrbH2KH9P1yFaoi1EO6Zllw,4830
7
7
  pyedb/configuration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- pyedb/configuration/cfg_boundaries.py,sha256=ckb-OfaObItwy-xc0LqkHJyeCfKC5vg668olPjZbaKo,6647
9
- pyedb/configuration/cfg_common.py,sha256=5ne78TTA0wHpbi804nsUd9SPxNKZvut_X_Miu-xDRgk,1982
10
- pyedb/configuration/cfg_components.py,sha256=XGWvttmVpz7zHh9fpKFjsMiMy6KTP_GGsR3UGv8xuoI,7683
11
- pyedb/configuration/cfg_data.py,sha256=MQJJ-ztmxI1Gzii2xoepKSb7IWImnyeFBMCpWeAHGvs,3637
8
+ pyedb/configuration/cfg_boundaries.py,sha256=5_v6HD0VgkFCJHgx5zTIn_nxPv3KpcCuGz9P4Kk4ywM,6246
9
+ pyedb/configuration/cfg_common.py,sha256=yF_dwdHA8rsyBcqLmhfkJoZ_aOVkDM5pqePGQqBh-Nk,1992
10
+ pyedb/configuration/cfg_components.py,sha256=qsIsrvFrCNg_HEX9bup7L_-y1tQTwVJSd_1QFsEyxxk,4592
11
+ pyedb/configuration/cfg_data.py,sha256=SUweTdyowk7wpi6eGBkBOkVvvcYNZOjf2_6pKjwtJns,3494
12
12
  pyedb/configuration/cfg_general.py,sha256=0dtd-rkQt2aYR3EOL0c3sNuDuJs7htRos1OWck3rxaI,1626
13
13
  pyedb/configuration/cfg_nets.py,sha256=18NezeNh0ZOwk2ehz3zWJF_xYR7IYCqGlpDfDt7Ilho,2349
14
- pyedb/configuration/cfg_operations.py,sha256=iT7GW2XggtDjfS4vI4-2gS47Nai7mxfpKjG7V_8IM_0,4541
14
+ pyedb/configuration/cfg_operations.py,sha256=mk0uY9kWEZ6hLciZz6l9ESBC-yHr08GgWBEX2iLutPE,4674
15
15
  pyedb/configuration/cfg_package_definition.py,sha256=f_RRT9R-3H5kHBlc4QSpjq9uQgYbaKQ78XXXrc_r3kg,5296
16
- pyedb/configuration/cfg_padstacks.py,sha256=yRHWZJ1E6vcVxK-l1No_p33sEdPIOyqZvN5stNMqSLQ,5605
16
+ pyedb/configuration/cfg_padstacks.py,sha256=qnxhdqGs5xHRW0luzkNpj8yB3zO8zuD4XZgP1PDxrOk,4428
17
17
  pyedb/configuration/cfg_pin_groups.py,sha256=b0H6NaPKJ5zlcXL9W2Q8_HbiLB8-OxaqjsM4wlqP2ic,3768
18
- pyedb/configuration/cfg_ports_sources.py,sha256=G2mX057QB3H3JUxAL0wDMDaHgabKFnht3iIyhTJvJU4,16356
19
- pyedb/configuration/cfg_s_parameter_models.py,sha256=NzS3eBjBSnd7ZDk_TsX04dqRcRXompjx1DxCe1UzWMw,2855
18
+ pyedb/configuration/cfg_ports_sources.py,sha256=8D4QcHlrCdMI0URv3NzSRf0ke8BiF1dpREiimwb9Hbk,16430
19
+ pyedb/configuration/cfg_s_parameter_models.py,sha256=iwLT581u7v26QtsLOaxrtpvAxrnk1VWqNiRYKOmK3y0,5300
20
20
  pyedb/configuration/cfg_setup.py,sha256=SPpNRLJusB-Cz2fDQkc6gkdilUqIlbNngoxF3zySt6g,10115
21
21
  pyedb/configuration/cfg_spice_models.py,sha256=Q_5j2-V6cepSFcnijot8iypTqzanLp7HOz-agmnwKns,2570
22
22
  pyedb/configuration/cfg_stackup.py,sha256=CX7uNN5QRoYW_MOObknP8003YchTS7PH9Oee7FG0VKU,6589
23
- pyedb/configuration/configuration.py,sha256=I-ivhVqnqEmDShTSACNqfZ0l49yJdNfyxNwHY-cMtkg,13502
23
+ pyedb/configuration/configuration.py,sha256=vuoCHQ254tpA5sHrK1Muhq5ghaZhn_Sh4Q7F-8EvxoM,14307
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=B7HYfgZkc-ezrdMIm3wInWAd5zw6ZMM5KdBG3H6y7L0,181695
26
+ pyedb/dotnet/edb.py,sha256=FtDiXt8AY0azMVvhp-l9HEDde1-goGCxXAcafwhKki4,182283
27
27
  pyedb/dotnet/application/Variables.py,sha256=awNhyiLASBYrNjWIyW8IJowgqt7FfFPKF9UElRWyjZg,77750
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
@@ -31,11 +31,11 @@ pyedb/dotnet/edb_core/components.py,sha256=g2hPrTotCtHWA7y79ej1fw3UoY5KrgDwur3H3
31
31
  pyedb/dotnet/edb_core/general.py,sha256=k2Bcr5VV-QUzEZlYorqYCX1ZchHBH7WqUvc8maMxId0,4716
32
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=HxRPHEs9yMyz0XgIegWsb4nSV7hNYbO-xBJ-eFyNnQw,12609
34
+ pyedb/dotnet/edb_core/layout_validation.py,sha256=JLWPZiSkjopAPLksysB1X6fbc5KBfD4_RViOeu7ABoE,12612
35
35
  pyedb/dotnet/edb_core/materials.py,sha256=zzYWIJ5dvOIO2H2vREpRnwGDx0hEa5QhCsg_EJkydww,43222
36
36
  pyedb/dotnet/edb_core/modeler.py,sha256=87amEA3xHszL52ae8i-7fAJzWL4Ntqp72omocNO5XAw,55442
37
37
  pyedb/dotnet/edb_core/net_class.py,sha256=4U6Cc1Gn7ZJ_ub9uKmtrsoz5wD1XS42afci3Y3ewRp0,11354
38
- pyedb/dotnet/edb_core/nets.py,sha256=WMKC9aKkmGP_NFqAkQpM8b4AjgDgjhrRXOz8VrN4yj8,41429
38
+ pyedb/dotnet/edb_core/nets.py,sha256=kD8Pa4JCon6ZOS2H3B9B32m24qNBZQDA69_m2zKlVa4,41464
39
39
  pyedb/dotnet/edb_core/padstack.py,sha256=P4WqnMy_mRHHPNvLCG96eGGB8_8bSZPBVziStxGNd5I,63567
40
40
  pyedb/dotnet/edb_core/siwave.py,sha256=4duoAsFCuPMNLxtMTEEVJCUaHKNkdbLDmtTXiD93VrM,64311
41
41
  pyedb/dotnet/edb_core/stackup.py,sha256=b56leXg7X7dEVPP2DUD9n8LZIakWcjIsjiqqkIWsyZU,120035
@@ -45,7 +45,7 @@ pyedb/dotnet/edb_core/cell/layout.py,sha256=1BZ5j5sD7cuomG3-mV7Z7UBtfko39m6xm6Fj
45
45
  pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=S42rdiI6gVqO77DV3ikc4YxTNufTuqW_X1G-2zkWArA,2765
46
46
  pyedb/dotnet/edb_core/cell/voltage_regulator.py,sha256=-uAzuyERV6ca0bFRzdH4SllcpGY2D9JEdpS7RYaQt6c,5387
47
47
  pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=Iri2YVNntt02ojqtBAg-NosarqN7aHyr37kl5TKQzuM,34847
48
+ pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=w3K3ofIH8xF9-8L_Rqc6uNk6O6WHR5b5zeVEk3d1L38,43508
49
49
  pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py,sha256=OUNK6INKlbJkCbzy6jKZzrQs7fvCR1qiTjt7te0S7nQ,2160
50
50
  pyedb/dotnet/edb_core/cell/hierarchy/model.py,sha256=LwXE4VUfptG5rJ9gmAmye0hECBv7bUGtby1ZzNFkeT0,3198
51
51
  pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py,sha256=fF6tY-6s-lW9EuvJ5sw3RlIkjuoSjeZbrNk5wG-_hzM,1356
@@ -55,17 +55,17 @@ pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py,sha256=SGiUcan2l0n8DGk3GtwCs
55
55
  pyedb/dotnet/edb_core/cell/primitive/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
56
56
  pyedb/dotnet/edb_core/cell/primitive/bondwire.py,sha256=fqIMdv0bNvk591DG6De5c--w9Rpkl5AOeo_qgzoPE6M,7322
57
57
  pyedb/dotnet/edb_core/cell/primitive/path.py,sha256=XVN7dOVpccoBP28M8l5iMzK5QSQdHqpKqC4jK76UTis,12543
58
- pyedb/dotnet/edb_core/cell/primitive/primitive.py,sha256=4ngcedgn3rpMzx8irWCyLA4I-ONKc-Ji8-fpcIpw7x4,27526
58
+ pyedb/dotnet/edb_core/cell/primitive/primitive.py,sha256=o4qmw_-egaV2QCUQe7EEq4O1a5G5hZnACGTj_ET1MQ0,27605
59
59
  pyedb/dotnet/edb_core/cell/terminal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py,sha256=qM0wEXkZ-DpoJ6vlVa560Ce8IgOdp4vyIJPedvoa3O0,1977
61
61
  pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py,sha256=lafPRrvsDPYKcysvrkO-5tEZXF3h4IcTXdeJgTjleuI,2158
62
62
  pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py,sha256=XI7NiP1qT2aft7hjPK4gX42RzreiZ66aHXIHFPwUghs,3999
63
63
  pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py,sha256=Xupr55vseJsAR6y62Ekv1Kie_ILc6RVNzT3Sgxdi7X4,2753
64
64
  pyedb/dotnet/edb_core/cell/terminal/point_terminal.py,sha256=S3aCAuFc_QA36PVn2Cdb9L4dO3T4IikwyEVcP1FOW3I,2597
65
- pyedb/dotnet/edb_core/cell/terminal/terminal.py,sha256=WoNS05-wSktF93MvDUjNQw9MMC3e18UGcsBKsy2fo68,19130
65
+ pyedb/dotnet/edb_core/cell/terminal/terminal.py,sha256=2pAba8-6YxZdbrh_b8WiqF_pitmfGy8_fSiMHro7oEs,19145
66
66
  pyedb/dotnet/edb_core/definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
- pyedb/dotnet/edb_core/definition/component_def.py,sha256=paLZ7E4gxSFO8UYdQP1mHYDRJH8M5YtD9UbPPypMkcg,6799
68
- pyedb/dotnet/edb_core/definition/component_model.py,sha256=PhT5voy3qk8fsp94dK6TN_Zxz5aXwO_mmeIwWm7C_Hs,1944
67
+ pyedb/dotnet/edb_core/definition/component_def.py,sha256=iXrGs1CpFHoLZ4cJZ7hebf592Hq5mG9Kp4Ip1TfuMjo,7404
68
+ pyedb/dotnet/edb_core/definition/component_model.py,sha256=HZzS3YX9hZBq5vv5Q9fS9MAN8S7Bxc3M6xcOETKvfT0,1838
69
69
  pyedb/dotnet/edb_core/definition/definition_obj.py,sha256=QKlR8DNpNaOd00sY1ybEZANioAg_tgfZAOmh7-997og,1560
70
70
  pyedb/dotnet/edb_core/definition/definitions.py,sha256=9Zjl5LNidDBk07m-QGpducWfFsyE52pScI8PC5f0doU,2383
71
71
  pyedb/dotnet/edb_core/definition/package_def.py,sha256=UoYNdfrB5j0rG4OK94yE25dCTzHcpDjSEn4L2yF10YY,6145
@@ -76,10 +76,10 @@ pyedb/dotnet/edb_core/edb_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
76
76
  pyedb/dotnet/edb_core/edb_data/control_file.py,sha256=_W5DDBFvm4gTq8yCvhzfiWUsfpQK4PnLkjmntIYvW8E,48217
77
77
  pyedb/dotnet/edb_core/edb_data/design_options.py,sha256=RO9ip-T5Bfxpsl97_QEk0qDZsza3tLzIX2t25XLutys,2057
78
78
  pyedb/dotnet/edb_core/edb_data/edbvalue.py,sha256=Vj_11HXsQUNavizKp5FicORm6cjhXRh9uvxhv_D_RJc,1977
79
- pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=hKFHWUl0_OCMEZJbQn5c8Y1a-BYKr8nAycIlrCoeufk,13005
79
+ pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=wIKH4it1uYkEae4OimS3YE6QoSf8rAAIhxdTwtR9cqU,13040
80
80
  pyedb/dotnet/edb_core/edb_data/layer_data.py,sha256=2K1rvBXAWg3s8paNU6TPNb5tC1B3bRHmiUZjVsoX_Z8,26001
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=W6yX4KxDdD7OiPQjuLEsXivKNp3yDoCzWNliEDHeRaM,85380
81
+ pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=B3SirURVYrmFZPjQLGEYUfTSDZOzzCSB1l7CPQFdWr4,9942
82
+ pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=Hav6QucvfsqnBv-VjPMEXA4AFq5F5Lf3UVRfdxzbTXk,87476
83
83
  pyedb/dotnet/edb_core/edb_data/ports.py,sha256=wr2RQi8VExuNIVmnp7c4VpTIhODgthmJmHr01zO4ueo,8873
84
84
  pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=zDgVbOcvgc7fbpLnCcCHURV9_ePYT4R129kAhSJRy9A,15467
85
85
  pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py,sha256=P37-OIsc8TuTC_s3CXRmvZcJqxAftHA7SATfEyoAnMM,20953
@@ -185,7 +185,7 @@ pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=YmYI6WTQulL5Uf8Wx
185
185
  pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py,sha256=KHa-UqcXuabiVfT2CV-UvWl5Q2qGYHF2Ye9azcAlnXc,3966
186
186
  pyedb/modeler/geometry_operators.py,sha256=g_Sy7a6R23sP6RtboJn1rl8uTuo8oeLmMF21rNkzwjk,74198
187
187
  pyedb/siwave_core/icepak.py,sha256=WnZ-t8mik7LDY06V8hZFV-TxRZJQWK7bu_8Ichx-oBs,5206
188
- pyedb-0.28.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
189
- pyedb-0.28.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
190
- pyedb-0.28.0.dist-info/METADATA,sha256=12aP4dKjrhx21He3-0FQDDWfpDMkTHmpM8b1IF2pckU,8388
191
- pyedb-0.28.0.dist-info/RECORD,,
188
+ pyedb-0.29.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
189
+ pyedb-0.29.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
190
+ pyedb-0.29.0.dist-info/METADATA,sha256=v1FkL09xH_fMTtmrbe3D6kJ5aBxzYG7fW_MoFuChYrQ,8389
191
+ pyedb-0.29.0.dist-info/RECORD,,
File without changes