pyedb 0.2.0__py3-none-any.whl → 0.3.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.

pyedb/__init__.py CHANGED
@@ -6,7 +6,7 @@ if os.name == "nt":
6
6
 
7
7
  pyedb_path = os.path.dirname(__file__)
8
8
 
9
- __version__ = "0.2.0"
9
+ __version__ = "0.3.0"
10
10
 
11
11
  version = __version__
12
12
 
@@ -12,9 +12,9 @@ class EDBComponentDef(ObjBase):
12
12
 
13
13
  Parameters
14
14
  ----------
15
- parent : :class:`pyedb.dotnet.edb_core.components.Components`
15
+ pedb : :class:`pyedb.edb`
16
16
  Inherited AEDT object.
17
- comp_def : object
17
+ edb_object : object
18
18
  Edb ComponentDef Object
19
19
  """
20
20
 
@@ -1,5 +1,7 @@
1
1
  import os
2
2
  from pyedb.dotnet.edb_core.definition.component_def import EDBComponentDef
3
+ from pyedb.dotnet.edb_core.definition.package_def import PackageDef
4
+ from pyedb.generic.general_methods import pyedb_function_handler
3
5
 
4
6
 
5
7
  class Definitions:
@@ -10,3 +12,24 @@ class Definitions:
10
12
  def component(self):
11
13
  """Component definitions"""
12
14
  return {l.GetName(): EDBComponentDef(self._pedb, l) for l in list(self._pedb.active_db.ComponentDefs)}
15
+
16
+ @property
17
+ def package(self):
18
+ """Package definitions."""
19
+ return {l.GetName(): PackageDef(self._pedb, l) for l in list(self._pedb.active_db.PackageDefs)}
20
+
21
+ @pyedb_function_handler
22
+ def add_package_def(self, name):
23
+ """Add a package definition.
24
+
25
+ Parameters
26
+ ----------
27
+ name: str
28
+ Name of the package definition.
29
+
30
+ Returns
31
+ -------
32
+
33
+ """
34
+ package_def = PackageDef(self._pedb, name=name)
35
+ return package_def
@@ -0,0 +1,98 @@
1
+ import os
2
+
3
+ from pyedb.dotnet.edb_core.edb_data.obj_base import ObjBase
4
+ from pyedb.generic.general_methods import pyedb_function_handler
5
+ from pyedb.dotnet.edb_core.dotnet.database import PolygonDataDotNet
6
+
7
+
8
+ class PackageDef(ObjBase):
9
+ """Manages EDB functionalities for package definitions.
10
+
11
+ Parameters
12
+ ----------
13
+ pedb : :class:`pyedb.edb`
14
+ Edb object.
15
+ edb_object : object
16
+ Edb PackageDef Object
17
+ """
18
+
19
+ def __init__(self, pedb, edb_object=None, name=None):
20
+ self._pedb = pedb
21
+ if edb_object is None and name is not None:
22
+ self._edb_object = self.__create_from_name(name)
23
+ else:
24
+ self._edb_object = edb_object
25
+
26
+ @pyedb_function_handler
27
+ def __create_from_name(self, name):
28
+ """Create a package defininitiion.
29
+
30
+ Parameters
31
+ ----------
32
+ name: str
33
+ Name of the package definition.
34
+
35
+ Returns
36
+ -------
37
+ edb_object: object
38
+ EDB PackageDef Object
39
+ """
40
+ edb_object = self._pedb.edb_api.definition.PackageDef.Create(self._pedb.active_db, name)
41
+ pointA = self._pedb.edb_api.geometry.point_data(
42
+ self._pedb.edb_value(0),
43
+ self._pedb.edb_value(0),
44
+ )
45
+
46
+ polygon = PolygonDataDotNet(self._pedb).create_from_bbox([pointA, pointA])
47
+ edb_object.SetExteriorBoundary(polygon)
48
+ return edb_object
49
+
50
+ @property
51
+ def maximum_power(self):
52
+ """Maximum power of the package."""
53
+ return self._edb_object.GetMaximumPower().ToDouble()
54
+
55
+ @maximum_power.setter
56
+ def maximum_power(self, value):
57
+ value = self._pedb.edb_value(value)
58
+ self._edb_object.SetMaximumPower(value)
59
+
60
+ @property
61
+ def therm_cond(self):
62
+ """Thermal conductivity of the package."""
63
+ return self._edb_object.GetTherm_Cond().ToDouble()
64
+
65
+ @therm_cond.setter
66
+ def therm_cond(self, value):
67
+ value = self._pedb.edb_value(value)
68
+ self._edb_object.SetTherm_Cond(value)
69
+
70
+ @property
71
+ def theta_jb(self):
72
+ """Theta Junction-to-Board of the package."""
73
+ return self._edb_object.GetTheta_JB().ToDouble()
74
+
75
+ @theta_jb.setter
76
+ def theta_jb(self, value):
77
+ value = self._pedb.edb_value(value)
78
+ self._edb_object.SetTheta_JB(value)
79
+
80
+ @property
81
+ def theta_jc(self):
82
+ """Theta Junction-to-Case of the package."""
83
+ return self._edb_object.GetTheta_JC().ToDouble()
84
+
85
+ @theta_jc.setter
86
+ def theta_jc(self,value):
87
+ value = self._pedb.edb_value(value)
88
+ self._edb_object.SetTheta_JC(value)
89
+
90
+ @property
91
+ def height(self):
92
+ """Height of the package."""
93
+ return self._edb_object.GetHeight().ToDouble()
94
+
95
+ @height.setter
96
+ def height(self, value):
97
+ value = self._pedb.edb_value(value)
98
+ self._edb_object.SetHeight(value)
@@ -2,6 +2,7 @@ import logging
2
2
  import re
3
3
  import warnings
4
4
 
5
+ from pyedb.dotnet.edb_core.definition.package_def import PackageDef
5
6
  from pyedb.dotnet.edb_core.cell.hierarchy.model import PinPairModel
6
7
  from pyedb.dotnet.edb_core.edb_data.padstacks_data import EDBPadstackInstance
7
8
  from pyedb.generic.general_methods import is_ironpython
@@ -26,7 +27,7 @@ class EDBComponent(object):
26
27
  Parameters
27
28
  ----------
28
29
  parent : :class:`pyedb.dotnet.edb_core.components.Components`
29
- Inherited AEDT object.
30
+ Components object.
30
31
  component : object
31
32
  Edb Component Object
32
33
 
@@ -204,6 +205,50 @@ class EDBComponent(object):
204
205
  comp_prop.SetModel(value._edb_object)
205
206
  self.edbcomponent.SetComponentProperty(comp_prop)
206
207
 
208
+ @property
209
+ def package_def(self):
210
+ """Package definition."""
211
+ edb_object = self.component_property.GetPackageDef()
212
+
213
+ package_def = PackageDef(self._pedb, edb_object)
214
+ if not package_def.is_null:
215
+ return package_def
216
+
217
+ @package_def.setter
218
+ def package_def(self, value):
219
+ package_def = self._pedb.definitions.package[value]
220
+ comp_prop = self.component_property
221
+ comp_prop.SetPackageDef(package_def._edb_object)
222
+ self.edbcomponent.SetComponentProperty(comp_prop)
223
+
224
+ @pyedb_function_handler
225
+ def create_package_def(self, name=""):
226
+ """Create a package definition and assign it to the component.
227
+
228
+ Parameters
229
+ ----------
230
+ name: str, optional
231
+ Name of the package definition
232
+
233
+ Returns
234
+ -------
235
+ bool
236
+ ``True`` if succeeded, ``False`` otherwise.
237
+ """
238
+ if not name:
239
+ name = "{}_{}".format(self.refdes, self.part_name)
240
+ if name not in self._pedb.definitions.package:
241
+ self._pedb.definitions.add_package_def(name)
242
+ self.package_def = name
243
+
244
+ from pyedb.dotnet.edb_core.dotnet.database import PolygonDataDotNet
245
+ polygon = PolygonDataDotNet(self._pedb).create_from_bbox(self.component_instance.GetBBox())
246
+ self.package_def._edb_object.SetExteriorBoundary(polygon)
247
+ return True
248
+ else:
249
+ logging.error(f"Package definition {name} already exists")
250
+ return False
251
+
207
252
  @property
208
253
  def is_enabled(self):
209
254
  """Get or Set the component to active mode.
@@ -17,3 +17,12 @@ class ObjBase(object):
17
17
  return self._edb_object.GetType()
18
18
  except AttributeError: # pragma: no cover
19
19
  return None
20
+
21
+ @property
22
+ def name(self):
23
+ """Name of the definition."""
24
+ return self._edb_object.GetName()
25
+
26
+ @name.setter
27
+ def name(self, value):
28
+ self._edb_object.SetName(value)
@@ -358,7 +358,6 @@ class Material(object):
358
358
  self._edb_material_def.SetDielectricMaterialModel(self._edb_value(None))
359
359
 
360
360
 
361
- # TODO: Cleanup
362
361
  class Materials(object):
363
362
  """Manages EDB methods for material management accessible from `Edb.materials` property."""
364
363
 
@@ -672,12 +672,7 @@ class Stackup(object):
672
672
  if not fillMaterial:
673
673
  fillMaterial = "fr4_epoxy"
674
674
 
675
- # TODO: Remove
676
675
  if material.lower() not in materials_lower:
677
- # if material in self._pedb.materials.materials_in_aedt:
678
- # self._pedb.materials.add_material_from_aedt("material")
679
- # else:
680
- # logger.error(material + " does not exist in material library")
681
676
  logger.error(material + " does not exist in material library")
682
677
  else:
683
678
  material = materials_lower[material.lower()]
pyedb/generic/settings.py CHANGED
@@ -199,7 +199,6 @@ class Settings(object):
199
199
  def enable_debug_logger(self, val):
200
200
  self._enable_debug_logger = val
201
201
 
202
- # TODO: Not sure if needed, see with Simon
203
202
  @property
204
203
  def enable_screen_logs(self):
205
204
  """Flag for enabling and disabling the logging to STDOUT."""
@@ -209,7 +208,6 @@ class Settings(object):
209
208
  def enable_screen_logs(self, val):
210
209
  self._enable_screen_logs = val
211
210
 
212
- # TODO: Not sure if needed, see with Simon
213
211
  @property
214
212
  def edb_dll_path(self):
215
213
  """Optional path for the EDB DLL file."""
@@ -13,12 +13,14 @@ class Net(XmlGeneric):
13
13
  self.isCritical = self._element.attrib["isCritical"]
14
14
  self.name = self._element.attrib["name"]
15
15
  self.type = self._element.attrib["type"] if "type" in self._element.attrib else None
16
+ self.Diffmatename = self._element.attrib["Diffmatename"] if "Diffmatename" in self._element.attrib else None
16
17
  else:
17
18
  self.isBus = None
18
19
  self.isClock = None
19
20
  self.isCritical = None
20
21
  self.name = None
21
22
  self.type = None
23
+ self.Diffmatename = None
22
24
 
23
25
 
24
26
  class NetTags(XmlGeneric):
@@ -1,4 +1,7 @@
1
1
  import json
2
+ import numpy as np
3
+ from copy import deepcopy as copy
4
+
2
5
  from pyedb.generic.general_methods import ET
3
6
 
4
7
  from pyedb.misc.siw_feature_config.emc.tag_library import \
@@ -8,6 +11,14 @@ from pyedb.misc.siw_feature_config.emc.component_tags import \
8
11
  ComponentTags
9
12
 
10
13
 
14
+ def kwargs_parser(kwargs):
15
+ kwargs = copy(kwargs)
16
+ kwargs = {i: False if j == np.nan else j for i, j in kwargs.items()}
17
+ kwargs = {i: int(j) if isinstance(j, bool) else j for i, j in kwargs.items()}
18
+ kwargs = {i: str(j) for i, j in kwargs.items()}
19
+ return kwargs
20
+
21
+
11
22
  class EMCRuleCheckerSettings:
12
23
  """Manages EMI scanner settings."""
13
24
 
@@ -41,7 +52,7 @@ class EMCRuleCheckerSettings:
41
52
 
42
53
  Parameters
43
54
  ----------
44
- fpath: str, Path
55
+ fpath: str
45
56
  Path to file.
46
57
  """
47
58
  tree = ET.parse(fpath)
@@ -66,7 +77,7 @@ class EMCRuleCheckerSettings:
66
77
 
67
78
  Parameters
68
79
  ----------
69
- fpath: str, Path
80
+ fpath: str
70
81
  Path to file.
71
82
  """
72
83
  data = {}
@@ -82,7 +93,7 @@ class EMCRuleCheckerSettings:
82
93
 
83
94
  Parameters
84
95
  ----------
85
- fpath: str, Path
96
+ fpath: str
86
97
  Path to file.
87
98
  """
88
99
  self.tag_library = TagLibrary(None)
@@ -104,14 +115,14 @@ class EMCRuleCheckerSettings:
104
115
  if component_tags:
105
116
  self.component_tags.read_dict(component_tags)
106
117
 
107
- def add_net(self, is_bus, is_clock, is_critical, name, net_type):
118
+ def add_net(self, name, is_bus=False, is_clock=False, is_critical=False, net_type="Single-Ended", diff_mate_name=""):
108
119
  """Assign tags to a net.
109
120
 
110
121
  Parameters
111
122
  ----------
112
- is_bus: str
123
+ is_bus: str, int
113
124
  Whether the net is a bus.
114
- is_clock: str
125
+ is_clock: str, int
115
126
  Whether the net is a clock.
116
127
  is_critical: str
117
128
  Whether the net is critical.
@@ -119,15 +130,35 @@ class EMCRuleCheckerSettings:
119
130
  Name of the net.
120
131
  net_type: str
121
132
  Type of the net.
133
+ diff_mate_name: str, optional
134
+ differential mate name.
122
135
  """
123
136
  kwargs = {
124
137
  "isBus": is_bus,
125
138
  "isClock": is_clock,
126
139
  "isCritical": is_critical,
127
140
  "name": name,
128
- "type": net_type
141
+ "type": net_type,
142
+ "Diffmatename": diff_mate_name
129
143
  }
130
- self.net_tags.add_sub_element(kwargs, "Net")
144
+
145
+ kwargs = kwargs_parser(kwargs)
146
+
147
+ if net_type == "Differential":
148
+ p = name
149
+ n = diff_mate_name
150
+ kwargs_p = kwargs
151
+ kwargs_n = kwargs
152
+
153
+ kwargs_p["name"] = p
154
+ kwargs_p["Diffmatename"] = n
155
+ self.net_tags.add_sub_element(kwargs_p, "Net")
156
+
157
+ kwargs_n["name"] = n
158
+ kwargs_n["Diffmatename"] = p
159
+ self.net_tags.add_sub_element(kwargs_n, "Net")
160
+ else:
161
+ self.net_tags.add_sub_element(kwargs, "Net")
131
162
 
132
163
  def add_component(self,
133
164
  comp_name,
@@ -176,4 +207,5 @@ class EMCRuleCheckerSettings:
176
207
  "isOscillator": is_oscillator,
177
208
  "xLoc": x_loc,
178
209
  "yLoc": y_loc}
210
+ kwargs = kwargs_parser(kwargs)
179
211
  self.component_tags.add_sub_element(kwargs, "Comp")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.2.0
3
+ Version: 0.3.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>
@@ -21,6 +21,7 @@ Requires-Dist: ansys-pythonnet >= 3.1.0rc3
21
21
  Requires-Dist: rpyc==5.3.1
22
22
  Requires-Dist: psutil
23
23
  Requires-Dist: dotnetcore2 ==3.1.23;platform_system=='Linux'
24
+ Requires-Dist: vtk-osmesa==9.2.20230527.dev0 ; extra == "ci"
24
25
  Requires-Dist: ansys-sphinx-theme==0.13.1 ; extra == "doc"
25
26
  Requires-Dist: imageio==2.31.5 ; extra == "doc"
26
27
  Requires-Dist: imageio-ffmpeg==0.4.9 ; extra == "doc"
@@ -75,7 +76,6 @@ Requires-Dist: SRTM.py ; extra == "full"
75
76
  Requires-Dist: utm ; extra == "full"
76
77
  Requires-Dist: scikit-rf ; extra == "full"
77
78
  Requires-Dist: openpyxl==3.1.2 ; extra == "full"
78
- Requires-Dist: ansys-edb-core ; extra == "grpc"
79
79
  Requires-Dist: ipython==8.13.0 ; extra == "tests" and ( python_version < '3.9')
80
80
  Requires-Dist: ipython==8.17.2 ; extra == "tests" and ( python_version >= '3.9')
81
81
  Requires-Dist: imageio==2.31.5 ; extra == "tests"
@@ -101,9 +101,14 @@ Requires-Dist: scikit-learn==1.3.1 ; extra == "tests" and ( python_version > '3.
101
101
  Requires-Dist: scikit-rf==0.31.0 ; extra == "tests"
102
102
  Requires-Dist: SRTM.py ; extra == "tests"
103
103
  Requires-Dist: utm ; extra == "tests"
104
+ Project-URL: Bugs, https://github.com/ansys/pyedb/issues
105
+ Project-URL: Discussions, https://github.com/ansys/pyedb/discussions
106
+ Project-URL: Documentation, https://aedt.docs.pyansys.com
107
+ Project-URL: Releases, https://github.com/ansys/pyedb/releases
108
+ Project-URL: Source, https://github.com/ansys/pyedb
109
+ Provides-Extra: ci
104
110
  Provides-Extra: doc
105
111
  Provides-Extra: full
106
- Provides-Extra: grpc
107
112
  Provides-Extra: tests
108
113
 
109
114
  <!-- -->
@@ -1,4 +1,4 @@
1
- pyedb/__init__.py,sha256=rtO4iZ8IwsN4cyNqLgQtEU7fV65XVO8BKOJMTd1tJuY,358
1
+ pyedb/__init__.py,sha256=OCPT4fcdORj-lsJMMfpm82gN1WIwT2HpZEtZij330IA,358
2
2
  pyedb/edb_logger.py,sha256=lnqdvkr2Uwo0WmnFiMWUcQMPrRuIXzPeU6hVTej_c2Q,13318
3
3
  pyedb/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  pyedb/dotnet/clr_module.py,sha256=W4_6KTrh9GFV3Lp3tkozFBaEzNCD-trQgCAt0qlGbUM,3406
@@ -12,26 +12,27 @@ pyedb/dotnet/edb_core/general.py,sha256=uIDIEJK2LwQi805lIp-XKSTXWm7cV8kml3CxUauv
12
12
  pyedb/dotnet/edb_core/hfss.py,sha256=qABg6L-y__r3OdcTDupdmgcCXyjO9Jo4nE_9d28BwsE,67178
13
13
  pyedb/dotnet/edb_core/layout.py,sha256=WOY8i7odca7W7_s_KcZGXIiVZRjNCVmFzD_gE2f_CcU,46721
14
14
  pyedb/dotnet/edb_core/layout_validation.py,sha256=6SHnC9rjBSAgqwReZhc7Yj5t1oW30NFIxYbs6Cu3P2o,10472
15
- pyedb/dotnet/edb_core/materials.py,sha256=QZhKLTpgM5HmyvX3sUXf52XzCvnyxYJj194eNB07VCY,37810
15
+ pyedb/dotnet/edb_core/materials.py,sha256=pi3ZOZsYEqnIEzAT1bFyUflVl84TWL8-sY3fRBX-MFw,37794
16
16
  pyedb/dotnet/edb_core/net_class.py,sha256=FScbzriu-cZcay3lm8LDt8wHBCQ8LhXM9CFTzf1DuLs,10703
17
17
  pyedb/dotnet/edb_core/nets.py,sha256=cEq9xsX0WsdO2Kfyi0yrDJC30LWS-A-lZ6XZQXawskQ,42655
18
18
  pyedb/dotnet/edb_core/padstack.py,sha256=nhn1a8uxE6fb_s6B8PHYcfpMZA78lMtruAtKRwOXIX4,51415
19
19
  pyedb/dotnet/edb_core/siwave.py,sha256=m_HSYfccdpiE1mXWZKIWUErpYTd5kf9zufUOIDVB3PE,59573
20
- pyedb/dotnet/edb_core/stackup.py,sha256=OEO-p5bK9YkJYxUs_TE_UJCcMOhZKv2b86MI9cBZXi8,112250
20
+ pyedb/dotnet/edb_core/stackup.py,sha256=MKJtZMl0Xc3HxhfHup9HAEsQpQyRmY5fb-V-33i5oJk,111983
21
21
  pyedb/dotnet/edb_core/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  pyedb/dotnet/edb_core/cell/hierarchy/model.py,sha256=vS0iGV7LXrdB0Mpox_I4-eJf5igupXRZZ4nahaDBrsM,1761
24
24
  pyedb/dotnet/edb_core/definition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- pyedb/dotnet/edb_core/definition/component_def.py,sha256=QkxAgTX1c4Gx1EJK-633aJw8y7EjwDqVE66iGJKOy0s,5276
25
+ pyedb/dotnet/edb_core/definition/component_def.py,sha256=Y2bO0rYabtcINoLQ0iO9uXpl9Gi7AoWOjXpBZ8dNY-8,5242
26
26
  pyedb/dotnet/edb_core/definition/component_model.py,sha256=Cq8JZgvqM3CWyBLswXis9hCQUS_HreamkUQt0lr703Y,884
27
27
  pyedb/dotnet/edb_core/definition/definition_obj.py,sha256=Uge_J9lHpcKOuLMHRk7XrSL0T7-zr_2wot2nAlC7KPc,486
28
- pyedb/dotnet/edb_core/definition/definitions.py,sha256=4eYWn-ba3eT8dyB6jyWE4Os6qOWseLttAJEYJHzQPzM,349
28
+ pyedb/dotnet/edb_core/definition/definitions.py,sha256=lae3_9KNGVODwvgY7W5-L02ehchtISsmpVqwz00TTQY,992
29
+ pyedb/dotnet/edb_core/definition/package_def.py,sha256=AbELAgwZ9oQ_gSEFN5Cmld13ts0N9WpIqaGstrjb27s,2851
29
30
  pyedb/dotnet/edb_core/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
31
  pyedb/dotnet/edb_core/dotnet/database.py,sha256=TDn1vBhwWlMgqlfpBeAMdH4bFdXe_-xna18WjFNU2U8,36443
31
32
  pyedb/dotnet/edb_core/dotnet/layout.py,sha256=scvnzV0Of02S2m0GJYJYjBTpoe7Gqh8kNBzkmrMVCmc,7750
32
33
  pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=vgJj6g-akN_cu3odmMzGZieWWX2a5UAlljv_8b5BcPY,47166
33
34
  pyedb/dotnet/edb_core/edb_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- pyedb/dotnet/edb_core/edb_data/components_data.py,sha256=QLPlrATlrv_mdhrnIM4yQUh6_nIx_GM5blU-l6vxg9I,30613
35
+ pyedb/dotnet/edb_core/edb_data/components_data.py,sha256=L_Fhp1jeur9xb8uIBAd88ONQZs6pSIZNIg95M2EfK8o,32205
35
36
  pyedb/dotnet/edb_core/edb_data/connectable.py,sha256=l9ztofnYhRM8JOoWpNjCddiwchAWBZNqzsjQqsMb6q4,3111
36
37
  pyedb/dotnet/edb_core/edb_data/control_file.py,sha256=-5M4GvOod9udMMYF9k1vhg1miKOTd-iZbJKBt6RkFs4,47271
37
38
  pyedb/dotnet/edb_core/edb_data/design_options.py,sha256=8Vqfvpxcvq2-Jtams2l3_kRVp724hVsBUkqsh1Gd1xM,902
@@ -40,7 +41,7 @@ pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=xcK5ykIRdei3EQqDlmO5Hx
40
41
  pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py,sha256=SsuBAtWZ1rrzGTNgFv_f2XKUObBKgDbiBn8xcn5vnxA,47079
41
42
  pyedb/dotnet/edb_core/edb_data/layer_data.py,sha256=TS6ckQr_KYES9x1zdr-vJWcOZANybw3dl8CNUcarWRg,20466
42
43
  pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=sYNFerWSiXSyFIU8fZnWcGRDx_MxeeNbgZh1salTRWY,8450
43
- pyedb/dotnet/edb_core/edb_data/obj_base.py,sha256=bQCX3q8bY4ThU3ZbAC7SYE7kyLdazci7QyLYC9vWFaU,527
44
+ pyedb/dotnet/edb_core/edb_data/obj_base.py,sha256=S6_ousfKf_sBXZliP9ERkxO5yY7lc-tRp0NTYkw2byw,727
44
45
  pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=mL4DKlo_htnQEedMZOtOF-PEj1aNFaslA_hJRxPL5J0,76914
45
46
  pyedb/dotnet/edb_core/edb_data/ports.py,sha256=x7FO0GLrfR0vmK1XpOlLYpY_WOl-BTHLpiHnuFGylxA,8069
46
47
  pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=PrpRibZ2UA3o16jQ17y9sMtZq89cXq-DuFrSOqIvL3k,45612
@@ -59,7 +60,7 @@ pyedb/generic/filesystem.py,sha256=sbZIHGlCTAyhDO5oDWFhJPGnyzlgvqaLt7saxeKqzsQ,3
59
60
  pyedb/generic/general_methods.py,sha256=-NAONtEptUAFRLgRh7sto9MkyroOAsl2gx70-LMgjiM,46403
60
61
  pyedb/generic/plot.py,sha256=gX4J4iY53Xk0rQL3OWvzWmM7vyAhLcsG0ATVrbI_pbY,61738
61
62
  pyedb/generic/process.py,sha256=ZO7B0JoTAW9AZr3TI_a3pCAuU15ljAta6wAvWh6k_ss,11103
62
- pyedb/generic/settings.py,sha256=_jBkDsbws4kVIo2zCBh_K9eJi1QUnJk67-jZuLhPME4,7523
63
+ pyedb/generic/settings.py,sha256=m-uejR6VJe-sL8dTWb2tPSNtROylxV5RtyNge2p6l5Y,7429
63
64
  pyedb/ipc2581/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
65
  pyedb/ipc2581/history_record.py,sha256=uUYLclSBppFGk6kIVhs_l6UkEQBOk2C-hG6HCi0Nxlo,1585
65
66
  pyedb/ipc2581/ipc2581.py,sha256=A5skFqvtY98z_OAEuCkWF7T7q0QIBVPe9zk5fdMTVz0,21531
@@ -115,14 +116,14 @@ pyedb/misc/misc.py,sha256=lvU4n49FWGQhdf3rKinKiBsDcREnG_34qkOH9FDD4o0,2161
115
116
  pyedb/misc/pyedb.runtimeconfig.json,sha256=2xof-Vl0hY2VOs1KkMSReTMZACsZhcmPmyHXukfb-oY,301
116
117
  pyedb/misc/utilities.py,sha256=w8mSGtgBlakcdOtWyP_NY0hUu_hxannOQOBvVxn02Fc,465
117
118
  pyedb/misc/siw_feature_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
- pyedb/misc/siw_feature_config/emc_rule_checker_settings.py,sha256=_wZJE9oDMucuxQhdkap2cgbJvkWeu82WtFV6FEhT01Y,5330
119
+ pyedb/misc/siw_feature_config/emc_rule_checker_settings.py,sha256=1bMkTpmehm8v_GHO5gBjmt5_xfYAQdrY2N8-HbYxGrA,6343
119
120
  pyedb/misc/siw_feature_config/emc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
120
121
  pyedb/misc/siw_feature_config/emc/component_tags.py,sha256=s1MTxuUuVH3lVGMBK2l9rK_SEUXhrLzLzbgsTLuM1Uc,1579
121
- pyedb/misc/siw_feature_config/emc/net_tags.py,sha256=bJgxkc6ycUCz_djrIkz8AqLoLv5pja_fkipFpSZZ3kA,1040
122
+ pyedb/misc/siw_feature_config/emc/net_tags.py,sha256=7fNUedSbqj3woBQfYaik0HhmQcy8tlToFITvi2kaqfU,1198
122
123
  pyedb/misc/siw_feature_config/emc/tag_library.py,sha256=SOJx5KJAXFEpHzKkbunR7fy7N8etZN9kECFwcCQ1bp4,1575
123
124
  pyedb/misc/siw_feature_config/emc/xml_generic.py,sha256=o5jMyfDJn3mzNUdzpPUFbexBVPc-Wu6XMf2ModMRyg0,2530
124
125
  pyedb/modeler/geometry_operators.py,sha256=LDqEaeerw9H8Yva-SJhX3Afdni08OciO9t5G0c_tdqs,66820
125
- pyedb-0.2.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
126
- pyedb-0.2.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
127
- pyedb-0.2.0.dist-info/METADATA,sha256=xDiWCZldsxqNy65BPBJT_JExSz_jacieyEAEaCrGpKk,11740
128
- pyedb-0.2.0.dist-info/RECORD,,
126
+ pyedb-0.3.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
127
+ pyedb-0.3.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
128
+ pyedb-0.3.0.dist-info/METADATA,sha256=CX8h9Cfem2K08ktNT98m0OYVTH4LOkfKotAvULMZqro,12050
129
+ pyedb-0.3.0.dist-info/RECORD,,
File without changes
File without changes