pyedb 0.36.0__py3-none-any.whl → 0.37.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 +1 -1
- pyedb/configuration/cfg_ports_sources.py +14 -10
- pyedb/dotnet/edb_core/cell/layout.py +22 -6
- pyedb/dotnet/edb_core/edb_data/nets_data.py +1 -1
- pyedb/dotnet/edb_core/edb_data/padstacks_data.py +54 -5
- pyedb/dotnet/edb_core/geometry/polygon_data.py +5 -0
- pyedb/dotnet/edb_core/modeler.py +1 -2
- {pyedb-0.36.0.dist-info → pyedb-0.37.0.dist-info}/METADATA +1 -1
- {pyedb-0.36.0.dist-info → pyedb-0.37.0.dist-info}/RECORD +11 -11
- {pyedb-0.36.0.dist-info → pyedb-0.37.0.dist-info}/LICENSE +0 -0
- {pyedb-0.36.0.dist-info → pyedb-0.37.0.dist-info}/WHEEL +0 -0
pyedb/__init__.py
CHANGED
|
@@ -33,6 +33,9 @@ class CfgTerminalInfo(CfgBase):
|
|
|
33
33
|
self._pedb = pedb
|
|
34
34
|
self.type = list(kwargs.keys())[0]
|
|
35
35
|
self.value = kwargs[self.type]
|
|
36
|
+
self.contact_radius = kwargs.get("contact_radius", None)
|
|
37
|
+
self.num_of_contact = kwargs.get("num_of_contact", 1)
|
|
38
|
+
self.inline = kwargs.get("inline", False)
|
|
36
39
|
|
|
37
40
|
def export_properties(self):
|
|
38
41
|
return {self.type: self.value}
|
|
@@ -46,7 +49,6 @@ class CfgCoordianteTerminalInfo(CfgTerminalInfo):
|
|
|
46
49
|
self.point_x = self.value["point"][0]
|
|
47
50
|
self.point_y = self.value["point"][1]
|
|
48
51
|
self.net = self.value["net"]
|
|
49
|
-
self.contact_radius = self.value.get("contact_radius", None)
|
|
50
52
|
|
|
51
53
|
def export_properties(self):
|
|
52
54
|
return {"coordinates": {"layer": self.layer, "point": [self.point_x, self.point_y], "net": self.net}}
|
|
@@ -245,8 +247,6 @@ class CfgCircuitElement(CfgBase):
|
|
|
245
247
|
point = [self.positive_terminal_info.point_x, self.positive_terminal_info.point_y]
|
|
246
248
|
net_name = self.positive_terminal_info.net
|
|
247
249
|
pos_coor_terminal[self.name] = self._pedb.get_point_terminal(self.name, net_name, point, layer)
|
|
248
|
-
if self.positive_terminal_info.contact_radius:
|
|
249
|
-
pos_coor_terminal[self.name].contact_radius = self.positive_terminal_info.contact_radius
|
|
250
250
|
|
|
251
251
|
elif pos_type == "pin_group":
|
|
252
252
|
if self.distributed:
|
|
@@ -406,20 +406,24 @@ class CfgSource(CfgCircuitElement):
|
|
|
406
406
|
if self.equipotential:
|
|
407
407
|
terms = [terminal, terminal.ref_terminal] if terminal.ref_terminal else [terminal]
|
|
408
408
|
for t in terms:
|
|
409
|
+
if not t.is_reference_terminal:
|
|
410
|
+
radius = self.positive_terminal_info.contact_radius
|
|
411
|
+
num_of_contact = self.positive_terminal_info.num_of_contact
|
|
412
|
+
inline = self.positive_terminal_info.inline
|
|
413
|
+
else:
|
|
414
|
+
radius = self.negative_terminal_info.contact_radius
|
|
415
|
+
num_of_contact = self.negative_terminal_info.num_of_contact
|
|
416
|
+
inline = self.negative_terminal_info.inline
|
|
417
|
+
|
|
409
418
|
pads = []
|
|
410
419
|
if t.terminal_type == "PadstackInstanceTerminal":
|
|
411
420
|
pads.append(t.reference_object)
|
|
412
|
-
t._edb_object.dcir_equipotential_region = True
|
|
413
421
|
elif t.terminal_type == "PinGroupTerminal":
|
|
414
422
|
name = t._edb_object.GetPinGroup().GetName()
|
|
415
423
|
pg = self._pedb.siwave.pin_groups[name]
|
|
416
424
|
pads.extend([i for _, i in pg.pins.items()])
|
|
417
|
-
elif t.terminal_type == "PointTerminal":
|
|
425
|
+
elif t.terminal_type == "PointTerminal" and radius:
|
|
418
426
|
temp = [i for i in self._pedb.layout.terminals if i.name == t.name][0]
|
|
419
|
-
if not temp.is_reference_terminal:
|
|
420
|
-
radius = self.positive_terminal_info.contact_radius
|
|
421
|
-
else:
|
|
422
|
-
radius = self.negative_terminal_info.contact_radius
|
|
423
427
|
if radius is not None:
|
|
424
428
|
prim = self._pedb.modeler.create_circle(
|
|
425
429
|
temp.layer.name, temp.location[0], temp.location[1], radius, temp.net_name
|
|
@@ -427,7 +431,7 @@ class CfgSource(CfgCircuitElement):
|
|
|
427
431
|
prim.dcir_equipotential_region = True
|
|
428
432
|
|
|
429
433
|
for i in pads:
|
|
430
|
-
i._set_equipotential()
|
|
434
|
+
i._set_equipotential(contact_radius=radius, inline=inline, num_of_contact=num_of_contact)
|
|
431
435
|
|
|
432
436
|
return circuit_elements
|
|
433
437
|
|
|
@@ -220,7 +220,7 @@ class Layout(ObjBase):
|
|
|
220
220
|
-------
|
|
221
221
|
"""
|
|
222
222
|
|
|
223
|
-
return [EDBNetsData(net, self._pedb) for net in self._edb_object.Nets]
|
|
223
|
+
return [EDBNetsData(net, self._pedb) for net in self._edb_object.Nets if net]
|
|
224
224
|
|
|
225
225
|
@property
|
|
226
226
|
def primitives(self):
|
|
@@ -230,7 +230,7 @@ class Layout(ObjBase):
|
|
|
230
230
|
-------
|
|
231
231
|
list of :class:`dotnet.edb_core.dotnet.primitive.PrimitiveDotNet` cast objects.
|
|
232
232
|
"""
|
|
233
|
-
return [primitive_cast(self._pedb, p) for p in self._edb_object.Primitives]
|
|
233
|
+
return [primitive_cast(self._pedb, p) for p in self._edb_object.Primitives if p]
|
|
234
234
|
|
|
235
235
|
@property
|
|
236
236
|
def bondwires(self):
|
|
@@ -331,16 +331,32 @@ class Layout(ObjBase):
|
|
|
331
331
|
obj = self._pedb._edb.Cell.Hierarchy.Component.FindByName(self._edb_object, value)
|
|
332
332
|
return EDBComponent(self._pedb, obj) if obj is not None else None
|
|
333
333
|
|
|
334
|
-
def find_primitive(
|
|
334
|
+
def find_primitive(
|
|
335
|
+
self, layer_name: Union[str, list] = None, name: Union[str, list] = None, net_name: Union[str, list] = None
|
|
336
|
+
) -> list:
|
|
335
337
|
"""Find a primitive objects by layer name.
|
|
336
338
|
|
|
337
339
|
Parameters
|
|
338
340
|
----------
|
|
339
|
-
layer_name : str, list
|
|
341
|
+
layer_name : str, list, optional
|
|
340
342
|
Name of the layer.
|
|
343
|
+
name : str, list, optional
|
|
344
|
+
Name of the primitive
|
|
345
|
+
net_name : str, list, optional
|
|
346
|
+
Name of the primitive
|
|
341
347
|
Returns
|
|
342
348
|
-------
|
|
343
349
|
list
|
|
344
350
|
"""
|
|
345
|
-
|
|
346
|
-
|
|
351
|
+
if layer_name is not None:
|
|
352
|
+
layer_name = layer_name if isinstance(layer_name, list) else [layer_name]
|
|
353
|
+
if name is not None:
|
|
354
|
+
name = name if isinstance(name, list) else [name]
|
|
355
|
+
if net_name is not None:
|
|
356
|
+
net_name = net_name if isinstance(net_name, list) else [net_name]
|
|
357
|
+
|
|
358
|
+
prims = self.primitives
|
|
359
|
+
prims = [i for i in prims if i.aedt_name in name] if name is not None else prims
|
|
360
|
+
prims = [i for i in prims if i.layer_name in layer_name] if layer_name is not None else prims
|
|
361
|
+
prims = [i for i in prims if i.net_name in net_name] if net_name is not None else prims
|
|
362
|
+
return prims
|
|
@@ -59,7 +59,7 @@ class EDBNetsData(NetDotNet):
|
|
|
59
59
|
"""
|
|
60
60
|
from pyedb.dotnet.edb_core.cell.layout import primitive_cast
|
|
61
61
|
|
|
62
|
-
return [primitive_cast(self._app, i) for i in self.net_object.Primitives]
|
|
62
|
+
return [primitive_cast(self._app, i) for i in self.net_object.Primitives if i]
|
|
63
63
|
# return [self._app.layout.find_object_by_id(i.GetId()) for i in self.net_object.Primitives]
|
|
64
64
|
|
|
65
65
|
@property
|
|
@@ -24,6 +24,8 @@ from collections import OrderedDict
|
|
|
24
24
|
import math
|
|
25
25
|
import warnings
|
|
26
26
|
|
|
27
|
+
import numpy as np
|
|
28
|
+
|
|
27
29
|
from pyedb.dotnet.clr_module import String
|
|
28
30
|
from pyedb.dotnet.edb_core.cell.primitive.primitive import Primitive
|
|
29
31
|
from pyedb.dotnet.edb_core.dotnet.database import PolygonDataDotNet
|
|
@@ -1247,10 +1249,50 @@ class EDBPadstackInstance(Primitive):
|
|
|
1247
1249
|
|
|
1248
1250
|
return self._pedb.create_port(terminal, ref_terminal, is_circuit_port)
|
|
1249
1251
|
|
|
1250
|
-
def _set_equipotential(self):
|
|
1252
|
+
def _set_equipotential(self, contact_radius=None, inline=False, num_of_contact=1):
|
|
1251
1253
|
"""Workaround solution. Remove when EDBAPI bug is fixed for dcir_equipotential_region."""
|
|
1252
1254
|
pad = self.definition.pad_by_layer[self.start_layer]
|
|
1253
|
-
|
|
1255
|
+
|
|
1256
|
+
pos_x, pos_y = self.position
|
|
1257
|
+
comp_rotation = self._pedb.edb_value(self.component.rotation).ToDouble() % 3.141592653589793
|
|
1258
|
+
|
|
1259
|
+
if contact_radius is not None:
|
|
1260
|
+
if num_of_contact == 1:
|
|
1261
|
+
prim = self._pedb.modeler.create_circle(pad.layer_name, pos_x, pos_y, contact_radius, self.net_name)
|
|
1262
|
+
prim.dcir_equipotential_region = True
|
|
1263
|
+
else:
|
|
1264
|
+
if pad.shape.lower() in ["rectangle", "oval"]:
|
|
1265
|
+
width, height = pad.parameters_values[0:2]
|
|
1266
|
+
radius = self._pedb.edb_value(contact_radius).ToDouble()
|
|
1267
|
+
else:
|
|
1268
|
+
return
|
|
1269
|
+
|
|
1270
|
+
if inline is False:
|
|
1271
|
+
x_offset = width / 2 - radius if comp_rotation == 0 else height / 2 - radius
|
|
1272
|
+
y_offset = height / 2 - radius if comp_rotation == 0 else width / 2 - radius
|
|
1273
|
+
positions = []
|
|
1274
|
+
for x, y in [[1, 1], [-1, 1], [1, -1], [-1, -1]]:
|
|
1275
|
+
positions.append([x_offset * x, y_offset * y])
|
|
1276
|
+
else:
|
|
1277
|
+
if width > height:
|
|
1278
|
+
offset = (width - radius * 2) / (num_of_contact - 1)
|
|
1279
|
+
else:
|
|
1280
|
+
offset = (height - radius * 2) / (num_of_contact - 1)
|
|
1281
|
+
|
|
1282
|
+
start_pos = (num_of_contact - 1) / 2
|
|
1283
|
+
offset = [offset * i for i in np.arange(start_pos * -1, start_pos + 1)]
|
|
1284
|
+
|
|
1285
|
+
if (width > height and comp_rotation == 0) or (width < height and comp_rotation != 0):
|
|
1286
|
+
positions = list(zip(offset, [0] * num_of_contact))
|
|
1287
|
+
else:
|
|
1288
|
+
positions = list(zip([0] * num_of_contact, offset))
|
|
1289
|
+
|
|
1290
|
+
for x, y in positions:
|
|
1291
|
+
prim = self._pedb.modeler.create_circle(pad.layer_name, pos_x + x, pos_y + y, radius, self.net_name)
|
|
1292
|
+
prim.dcir_equipotential_region = True
|
|
1293
|
+
return
|
|
1294
|
+
|
|
1295
|
+
elif pad.shape.lower() == "circle":
|
|
1254
1296
|
ra = self._pedb.edb_value(pad.parameters_values[0] / 2)
|
|
1255
1297
|
pos = self.position
|
|
1256
1298
|
prim = self._pedb.modeler.create_circle(pad.layer_name, pos[0], pos[1], ra, self.net_name)
|
|
@@ -1265,9 +1307,16 @@ class EDBPadstackInstance(Primitive):
|
|
|
1265
1307
|
center_point=self.position,
|
|
1266
1308
|
rotation=self.component.rotation,
|
|
1267
1309
|
)
|
|
1268
|
-
|
|
1310
|
+
elif pad.shape.lower() == "oval":
|
|
1311
|
+
width, height, _ = pad.parameters_values
|
|
1312
|
+
prim = self._pedb.modeler.create_circle(
|
|
1313
|
+
pad.layer_name, self.position[0], self.position[1], height / 2, self.net_name
|
|
1314
|
+
)
|
|
1269
1315
|
elif pad.polygon_data:
|
|
1270
|
-
prim = self._pedb.modeler.create_polygon(
|
|
1316
|
+
prim = self._pedb.modeler.create_polygon(
|
|
1317
|
+
pad.polygon_data._edb_object, self.start_layer, net_name=self.net_name
|
|
1318
|
+
)
|
|
1319
|
+
prim.move(self.position)
|
|
1271
1320
|
else:
|
|
1272
1321
|
return
|
|
1273
1322
|
prim.dcir_equipotential_region = True
|
|
@@ -1579,7 +1628,7 @@ class EDBPadstackInstance(Primitive):
|
|
|
1579
1628
|
layer_list = []
|
|
1580
1629
|
start_layer_name = start_layer.GetName()
|
|
1581
1630
|
stop_layer_name = stop_layer.GetName()
|
|
1582
|
-
for layer_name in list(self._pedb.stackup.
|
|
1631
|
+
for layer_name in list(self._pedb.stackup.signal_layers.keys()):
|
|
1583
1632
|
if started:
|
|
1584
1633
|
layer_list.append(layer_name)
|
|
1585
1634
|
if layer_name == stop_layer_name or layer_name == start_layer_name:
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
# SOFTWARE.
|
|
22
|
+
from typing import Union
|
|
22
23
|
|
|
23
24
|
from pyedb.dotnet.edb_core.general import convert_py_list_to_net_list
|
|
24
25
|
from pyedb.dotnet.edb_core.geometry.point_data import PointData
|
|
@@ -128,3 +129,7 @@ class PolygonData:
|
|
|
128
129
|
arcs = convert_py_list_to_net_list(arcs)
|
|
129
130
|
poly = self._edb_object.CreateFromArcs(arcs, flag)
|
|
130
131
|
return PolygonData(self._pedb, poly)
|
|
132
|
+
|
|
133
|
+
def point_in_polygon(self, x: Union[str, float], y: Union[str, float]) -> bool:
|
|
134
|
+
"""Determines whether a point is inside the polygon."""
|
|
135
|
+
return self._edb_object.PointInPolygon(self._pedb.point_data(x, y))
|
pyedb/dotnet/edb_core/modeler.py
CHANGED
|
@@ -661,8 +661,7 @@ class Modeler(object):
|
|
|
661
661
|
else:
|
|
662
662
|
polygonData = main_shape
|
|
663
663
|
if not polygonData or polygonData.IsNull():
|
|
664
|
-
|
|
665
|
-
return False
|
|
664
|
+
raise RuntimeError("Failed to create main shape polygon data")
|
|
666
665
|
for void in voids:
|
|
667
666
|
if isinstance(void, list):
|
|
668
667
|
void = self.Shape("polygon", points=void)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
pyedb/__init__.py,sha256=
|
|
1
|
+
pyedb/__init__.py,sha256=bTsJ4CBHXe9DwW7gVeft0iIBTaHaGYTd7KW5dij8NdU,1525
|
|
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=Mgg5ZGzOUOtNdlePHcnrgN3rletQ7jrqRi3WfxF58uU,17727
|
|
@@ -18,7 +18,7 @@ pyedb/configuration/cfg_operations.py,sha256=CFLBdM2kQBsW6f7W0NHWbV56RDMHSnaNQl3
|
|
|
18
18
|
pyedb/configuration/cfg_package_definition.py,sha256=f_RRT9R-3H5kHBlc4QSpjq9uQgYbaKQ78XXXrc_r3kg,5296
|
|
19
19
|
pyedb/configuration/cfg_padstacks.py,sha256=zZSEc92TwSqa7KSZBmDb4Sybm4ivM5lrvb8uMxFho8k,18292
|
|
20
20
|
pyedb/configuration/cfg_pin_groups.py,sha256=zNKfVP-fd1qUxS2wNb0ZTLGonkUnBmiXb4Rss1Rr7sE,3714
|
|
21
|
-
pyedb/configuration/cfg_ports_sources.py,sha256=
|
|
21
|
+
pyedb/configuration/cfg_ports_sources.py,sha256=1ngvubH02qQBHjkRI90BvpdRq4HMHRfbeFRKWEjEtAM,22988
|
|
22
22
|
pyedb/configuration/cfg_s_parameter_models.py,sha256=DgBprcEYR2r_3BY4f_CuwuhJw_QFEag3xaAlLTRfMuE,5356
|
|
23
23
|
pyedb/configuration/cfg_setup.py,sha256=QGKQHAEeo196TYtKMvIMb2-p8KC4U8fmHx0yn0SpgMo,10351
|
|
24
24
|
pyedb/configuration/cfg_spice_models.py,sha256=Q_5j2-V6cepSFcnijot8iypTqzanLp7HOz-agmnwKns,2570
|
|
@@ -36,7 +36,7 @@ pyedb/dotnet/edb_core/hfss.py,sha256=oQFC6PwRbjAwfR60RoklwpZ_2sDI4OheNNdwaqY23ok
|
|
|
36
36
|
pyedb/dotnet/edb_core/layout_obj_instance.py,sha256=Pd8rfdO3b6HLFGwXBMw-tfE4LPIcW_9_X5KEdFaiito,1407
|
|
37
37
|
pyedb/dotnet/edb_core/layout_validation.py,sha256=S0IFx9t5toVpuTLTI2Cs9vvgR4BCebJLXnj0ydW2Op8,13597
|
|
38
38
|
pyedb/dotnet/edb_core/materials.py,sha256=s105DUTFkQoQRWgtRMp02DKcU2YcSrfLbJoi8hcTQII,42293
|
|
39
|
-
pyedb/dotnet/edb_core/modeler.py,sha256=
|
|
39
|
+
pyedb/dotnet/edb_core/modeler.py,sha256=XKlKzgTRtFll5ZZlhC4JEfKkO5AZvooAtgbV49VYbZc,55494
|
|
40
40
|
pyedb/dotnet/edb_core/net_class.py,sha256=4U6Cc1Gn7ZJ_ub9uKmtrsoz5wD1XS42afci3Y3ewRp0,11354
|
|
41
41
|
pyedb/dotnet/edb_core/nets.py,sha256=Wc84urZG6nM3fZYqMj2HzM6CgNz_B4s4O3WmMGr-5H0,25199
|
|
42
42
|
pyedb/dotnet/edb_core/padstack.py,sha256=eUlIO6pBCfknjvToWWjdvxyz0zpFpyDdwFIMgyLVprk,73173
|
|
@@ -44,7 +44,7 @@ pyedb/dotnet/edb_core/siwave.py,sha256=QF4JyVNWoDeNQRRBBExlCxxVUt1-5DpKIlpuYkXd4
|
|
|
44
44
|
pyedb/dotnet/edb_core/stackup.py,sha256=b56leXg7X7dEVPP2DUD9n8LZIakWcjIsjiqqkIWsyZU,120035
|
|
45
45
|
pyedb/dotnet/edb_core/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
46
46
|
pyedb/dotnet/edb_core/cell/connectable.py,sha256=gc5jhWx4DX718T7koL6oZZzfS4EdQNTiFX76ZJ2c83E,2864
|
|
47
|
-
pyedb/dotnet/edb_core/cell/layout.py,sha256=
|
|
47
|
+
pyedb/dotnet/edb_core/cell/layout.py,sha256=zMTqjA_8I9vlJGNgZ6fgqmfs6B0krq2v1KlgXw1ZBJs,13172
|
|
48
48
|
pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=S42rdiI6gVqO77DV3ikc4YxTNufTuqW_X1G-2zkWArA,2765
|
|
49
49
|
pyedb/dotnet/edb_core/cell/voltage_regulator.py,sha256=-uAzuyERV6ca0bFRzdH4SllcpGY2D9JEdpS7RYaQt6c,5387
|
|
50
50
|
pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -81,8 +81,8 @@ pyedb/dotnet/edb_core/edb_data/design_options.py,sha256=RO9ip-T5Bfxpsl97_QEk0qDZ
|
|
|
81
81
|
pyedb/dotnet/edb_core/edb_data/edbvalue.py,sha256=Vj_11HXsQUNavizKp5FicORm6cjhXRh9uvxhv_D_RJc,1977
|
|
82
82
|
pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=wIKH4it1uYkEae4OimS3YE6QoSf8rAAIhxdTwtR9cqU,13040
|
|
83
83
|
pyedb/dotnet/edb_core/edb_data/layer_data.py,sha256=4Z_eaHSfGfwQBKETEmGSwMvwGzvirtwYw4G4TwonNiA,34314
|
|
84
|
-
pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=
|
|
85
|
-
pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=
|
|
84
|
+
pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=k15gL8A9yACRxw5UaMFZamijMLo19MR8YZbZb06tYMA,10142
|
|
85
|
+
pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=n9dsAcimNQdKpxFqfFB1-96KTGhZ6mz0vilAEHDKd4M,79557
|
|
86
86
|
pyedb/dotnet/edb_core/edb_data/ports.py,sha256=wr2RQi8VExuNIVmnp7c4VpTIhODgthmJmHr01zO4ueo,8873
|
|
87
87
|
pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=kIXkd5SXeN881eJqdJ2KxEZebpimB4qFEed1g6w-Raw,16826
|
|
88
88
|
pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py,sha256=P37-OIsc8TuTC_s3CXRmvZcJqxAftHA7SATfEyoAnMM,20953
|
|
@@ -92,7 +92,7 @@ pyedb/dotnet/edb_core/edb_data/utilities.py,sha256=3wZqOJ35eisOwOPKOs-bvJ8kmd62e
|
|
|
92
92
|
pyedb/dotnet/edb_core/edb_data/variables.py,sha256=LS1jZPOYgRvf4cyKf_x8hI9Brs-qbh4wrHu_QGLElrg,3501
|
|
93
93
|
pyedb/dotnet/edb_core/geometry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
94
|
pyedb/dotnet/edb_core/geometry/point_data.py,sha256=hC9cRuSnX4cwg09Jr0ZK7ZTjFf_4NwXJMGbZ3s-ULpQ,1590
|
|
95
|
-
pyedb/dotnet/edb_core/geometry/polygon_data.py,sha256=
|
|
95
|
+
pyedb/dotnet/edb_core/geometry/polygon_data.py,sha256=qZ1dRQHMo2JNZaWiPkrqrE009YZU3IOCr8UGQ1MXot8,5272
|
|
96
96
|
pyedb/dotnet/edb_core/sim_setup_data/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
|
|
97
97
|
pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
|
|
98
98
|
pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py,sha256=tlHI7PUUoseNnJAtihpjb1PwXYNr-4ztAAnunlLLWVQ,2463
|
|
@@ -188,7 +188,7 @@ pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=YmYI6WTQulL5Uf8Wx
|
|
|
188
188
|
pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py,sha256=KHa-UqcXuabiVfT2CV-UvWl5Q2qGYHF2Ye9azcAlnXc,3966
|
|
189
189
|
pyedb/modeler/geometry_operators.py,sha256=g_Sy7a6R23sP6RtboJn1rl8uTuo8oeLmMF21rNkzwjk,74198
|
|
190
190
|
pyedb/siwave_core/icepak.py,sha256=WnZ-t8mik7LDY06V8hZFV-TxRZJQWK7bu_8Ichx-oBs,5206
|
|
191
|
-
pyedb-0.
|
|
192
|
-
pyedb-0.
|
|
193
|
-
pyedb-0.
|
|
194
|
-
pyedb-0.
|
|
191
|
+
pyedb-0.37.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
|
|
192
|
+
pyedb-0.37.0.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
|
193
|
+
pyedb-0.37.0.dist-info/METADATA,sha256=IwWf3GCdS37oFKRCZh99M_me8qd3vx0-QbUAvNpXME8,8513
|
|
194
|
+
pyedb-0.37.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|