pyedb 0.50.1__py3-none-any.whl → 0.52.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 (37) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_ports_sources.py +79 -239
  3. pyedb/configuration/configuration.py +213 -340
  4. pyedb/dotnet/clr_module.py +9 -3
  5. pyedb/dotnet/database/cell/layout.py +10 -1
  6. pyedb/dotnet/database/dotnet/database.py +0 -2
  7. pyedb/dotnet/database/edb_data/padstacks_data.py +8 -2
  8. pyedb/dotnet/database/layout_validation.py +20 -26
  9. pyedb/dotnet/database/modeler.py +0 -1
  10. pyedb/dotnet/database/stackup.py +4 -3
  11. pyedb/dotnet/edb.py +42 -2
  12. pyedb/generic/design_types.py +183 -62
  13. pyedb/grpc/database/__init__.py +0 -1
  14. pyedb/grpc/database/components.py +110 -0
  15. pyedb/grpc/database/control_file.py +150 -17
  16. pyedb/grpc/database/definition/materials.py +7 -7
  17. pyedb/grpc/database/definitions.py +36 -2
  18. pyedb/grpc/database/hfss.py +15 -0
  19. pyedb/grpc/database/hierarchy/component.py +10 -2
  20. pyedb/grpc/database/hierarchy/pin_pair_model.py +1 -1
  21. pyedb/grpc/database/layout_validation.py +58 -7
  22. pyedb/grpc/database/net/differential_pair.py +2 -1
  23. pyedb/grpc/database/nets.py +233 -4
  24. pyedb/grpc/database/padstacks.py +97 -0
  25. pyedb/grpc/database/primitive/padstack_instance.py +1 -1
  26. pyedb/grpc/database/primitive/polygon.py +1 -1
  27. pyedb/grpc/database/siwave.py +63 -3
  28. pyedb/grpc/database/source_excitations.py +317 -50
  29. pyedb/grpc/database/stackup.py +107 -2
  30. pyedb/grpc/database/terminal/point_terminal.py +2 -2
  31. pyedb/grpc/database/terminal/terminal.py +1 -1
  32. pyedb/grpc/edb.py +190 -224
  33. pyedb/grpc/edb_init.py +54 -5
  34. {pyedb-0.50.1.dist-info → pyedb-0.52.0.dist-info}/METADATA +4 -4
  35. {pyedb-0.50.1.dist-info → pyedb-0.52.0.dist-info}/RECORD +37 -37
  36. {pyedb-0.50.1.dist-info → pyedb-0.52.0.dist-info}/LICENSE +0 -0
  37. {pyedb-0.50.1.dist-info → pyedb-0.52.0.dist-info}/WHEEL +0 -0
@@ -89,17 +89,38 @@ class Siwave(object):
89
89
 
90
90
  @property
91
91
  def excitations(self):
92
- """Excitation sources in the layout."""
92
+ """Excitation sources in the layout.
93
+
94
+ Examples
95
+ --------
96
+ >>> from pyedb import Edb
97
+ >>> edbapp = Edb("myaedbfolder", edbversion="2021.2")
98
+ >>> excitations = edbapp.siwave.excitations
99
+ """
93
100
  return self._pedb.excitations
94
101
 
95
102
  @property
96
103
  def sources(self):
97
- """All sources in the layout."""
104
+ """All sources in the layout.
105
+
106
+ Examples
107
+ --------
108
+ >>> from pyedb import Edb
109
+ >>> edbapp = Edb("myaedbfolder", edbversion="2021.2")
110
+ >>> sources = edbapp.siwave.sources
111
+ """
98
112
  return self._pedb.sources
99
113
 
100
114
  @property
101
115
  def probes(self):
102
- """All probes in the layout."""
116
+ """All probes in the layout.
117
+
118
+ Examples
119
+ --------
120
+ >>> from pyedb import Edb
121
+ >>> edbapp = Edb("myaedbfolder", edbversion="2021.2")
122
+ >>> probes = edbapp.siwave.probes
123
+ """
103
124
  return self._pedb.probes
104
125
 
105
126
  @property
@@ -110,6 +131,14 @@ class Siwave(object):
110
131
  -------
111
132
  dict
112
133
  Dictionary of pin groups with names as keys and pin group objects as values.
134
+
135
+ Examples
136
+ --------
137
+ >>> from pyedb import Edb
138
+ >>> edbapp = Edb("myaedbfolder", edbversion="2021.2")
139
+ >>> pin_groups = edbapp.siwave.pin_groups
140
+ >>> for name, group in pin_groups.items():
141
+ ... print(f"Pin group {name} has {len(group.pins)} pins")
113
142
  """
114
143
  _pingroups = {}
115
144
  for el in self._pedb.layout.pin_groups:
@@ -516,6 +545,19 @@ class Siwave(object):
516
545
  -------
517
546
  bool
518
547
  ``True`` if file was created, ``False`` otherwise.
548
+
549
+ Examples
550
+ --------
551
+ >>> from pyedb import Edb
552
+ >>> edbapp = Edb("myaedbfolder", edbversion="2021.2")
553
+ >>> # Create exec file with AC and SYZ options
554
+ >>> success = edbapp.siwave.create_exec_file(add_ac=True, add_syz=True)
555
+ >>> # Create exec file with Touchstone export
556
+ >>> success = edbapp.siwave.create_exec_file(
557
+ ... add_ac=True,
558
+ ... export_touchstone=True,
559
+ ... touchstone_file_path="C:/temp/my_touchstone.s2p"
560
+ ... )
519
561
  """
520
562
  workdir = os.path.dirname(self._pedb.edbpath)
521
563
  file_name = os.path.join(workdir, os.path.splitext(os.path.basename(self._pedb.edbpath))[0] + ".exec")
@@ -576,6 +618,24 @@ class Siwave(object):
576
618
  -------
577
619
  :class:`pyedb.dotnet.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetup`
578
620
  Setup object class.
621
+
622
+ Examples
623
+ --------
624
+ >>> from pyedb import Edb
625
+ >>> edbapp = Edb("myaedbfolder", edbversion="2021.2")
626
+ >>> # Add SYZ analysis with linear sweep from 1kHz to 10GHz
627
+ >>> setup = edbapp.siwave.add_siwave_syz_analysis(
628
+ ... start_freq=1e3,
629
+ ... stop_freq=10e9,
630
+ ... distribution="linear"
631
+ ... )
632
+ >>> # Add SYZ analysis with decade sweep
633
+ >>> setup = edbapp.siwave.add_siwave_syz_analysis(
634
+ ... start_freq=1e3,
635
+ ... stop_freq=10e9,
636
+ ... distribution="decade_count",
637
+ ... step_freq=10 # 10 points per decade
638
+ ... )
579
639
  """
580
640
  setup = self._pedb.create_siwave_syz_setup()
581
641
  start_freq = self._pedb.number_with_units(start_freq, "Hz")