pyedb 0.53.0__py3-none-any.whl → 0.54.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 (84) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_ports_sources.py +6 -8
  3. pyedb/configuration/configuration.py +2 -1
  4. pyedb/dotnet/database/cell/hierarchy/model.py +1 -1
  5. pyedb/dotnet/database/cell/layout.py +1 -1
  6. pyedb/dotnet/database/cell/layout_obj.py +3 -3
  7. pyedb/dotnet/database/cell/primitive/path.py +1 -1
  8. pyedb/dotnet/database/cell/primitive/primitive.py +8 -8
  9. pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +1 -1
  10. pyedb/dotnet/database/cell/terminal/point_terminal.py +1 -1
  11. pyedb/dotnet/database/cell/terminal/terminal.py +24 -26
  12. pyedb/dotnet/database/components.py +24 -24
  13. pyedb/dotnet/database/definition/component_def.py +3 -3
  14. pyedb/dotnet/database/definition/component_model.py +1 -1
  15. pyedb/dotnet/database/definition/package_def.py +1 -1
  16. pyedb/dotnet/database/dotnet/database.py +43 -38
  17. pyedb/dotnet/database/dotnet/primitive.py +16 -16
  18. pyedb/dotnet/database/edb_data/hfss_extent_info.py +6 -6
  19. pyedb/dotnet/database/edb_data/layer_data.py +14 -14
  20. pyedb/dotnet/database/edb_data/padstacks_data.py +12 -12
  21. pyedb/dotnet/database/edb_data/primitives_data.py +3 -3
  22. pyedb/dotnet/database/edb_data/sources.py +6 -6
  23. pyedb/dotnet/database/edb_data/variables.py +7 -3
  24. pyedb/dotnet/database/geometry/point_data.py +1 -1
  25. pyedb/dotnet/database/geometry/polygon_data.py +2 -4
  26. pyedb/dotnet/database/hfss.py +7 -7
  27. pyedb/dotnet/database/materials.py +2 -2
  28. pyedb/dotnet/database/modeler.py +8 -11
  29. pyedb/dotnet/database/nets.py +1 -1
  30. pyedb/dotnet/database/padstack.py +72 -1
  31. pyedb/dotnet/database/sim_setup_data/data/settings.py +24 -0
  32. pyedb/dotnet/database/sim_setup_data/io/siwave.py +26 -1
  33. pyedb/dotnet/database/siwave.py +5 -5
  34. pyedb/dotnet/database/stackup.py +74 -77
  35. pyedb/dotnet/database/utilities/heatsink.py +4 -4
  36. pyedb/dotnet/database/utilities/obj_base.py +1 -1
  37. pyedb/dotnet/database/utilities/value.py +116 -0
  38. pyedb/dotnet/edb.py +43 -43
  39. pyedb/generic/design_types.py +12 -3
  40. pyedb/grpc/__init__.py +0 -0
  41. pyedb/grpc/database/components.py +53 -17
  42. pyedb/grpc/database/definition/materials.py +23 -30
  43. pyedb/grpc/database/definition/package_def.py +15 -15
  44. pyedb/grpc/database/definition/padstack_def.py +51 -51
  45. pyedb/grpc/database/geometry/arc_data.py +7 -5
  46. pyedb/grpc/database/geometry/point_3d_data.py +8 -7
  47. pyedb/grpc/database/geometry/polygon_data.py +3 -2
  48. pyedb/grpc/database/hierarchy/component.py +43 -38
  49. pyedb/grpc/database/hierarchy/pin_pair_model.py +15 -14
  50. pyedb/grpc/database/hierarchy/pingroup.py +9 -9
  51. pyedb/grpc/database/layers/stackup_layer.py +45 -44
  52. pyedb/grpc/database/layout/layout.py +9 -8
  53. pyedb/grpc/database/layout/voltage_regulator.py +7 -7
  54. pyedb/grpc/database/layout_validation.py +13 -12
  55. pyedb/grpc/database/modeler.py +51 -54
  56. pyedb/grpc/database/nets.py +42 -31
  57. pyedb/grpc/database/padstacks.py +270 -175
  58. pyedb/grpc/database/ports/ports.py +5 -6
  59. pyedb/grpc/database/primitive/bondwire.py +8 -7
  60. pyedb/grpc/database/primitive/circle.py +4 -4
  61. pyedb/grpc/database/primitive/padstack_instance.py +18 -18
  62. pyedb/grpc/database/primitive/path.py +7 -7
  63. pyedb/grpc/database/primitive/polygon.py +3 -3
  64. pyedb/grpc/database/primitive/primitive.py +13 -17
  65. pyedb/grpc/database/primitive/rectangle.py +13 -13
  66. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
  67. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +10 -0
  68. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +17 -1
  69. pyedb/grpc/database/siwave.py +30 -24
  70. pyedb/grpc/database/source_excitations.py +333 -229
  71. pyedb/grpc/database/stackup.py +164 -147
  72. pyedb/grpc/database/terminal/bundle_terminal.py +17 -7
  73. pyedb/grpc/database/terminal/edge_terminal.py +10 -0
  74. pyedb/grpc/database/terminal/padstack_instance_terminal.py +15 -4
  75. pyedb/grpc/database/terminal/pingroup_terminal.py +11 -10
  76. pyedb/grpc/database/terminal/point_terminal.py +4 -3
  77. pyedb/grpc/database/terminal/terminal.py +9 -9
  78. pyedb/grpc/database/utility/value.py +109 -0
  79. pyedb/grpc/edb.py +59 -38
  80. pyedb/grpc/edb_init.py +0 -7
  81. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/METADATA +3 -3
  82. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/RECORD +84 -81
  83. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/WHEEL +0 -0
  84. {pyedb-0.53.0.dist-info → pyedb-0.54.0.dist-info}/licenses/LICENSE +0 -0
pyedb/grpc/edb.py CHANGED
@@ -131,6 +131,7 @@ from pyedb.grpc.database.terminal.padstack_instance_terminal import (
131
131
  )
132
132
  from pyedb.grpc.database.terminal.terminal import Terminal
133
133
  from pyedb.grpc.database.utility.constants import get_terminal_supported_boundary_types
134
+ from pyedb.grpc.database.utility.value import Value
134
135
  from pyedb.grpc.edb_init import EdbInit
135
136
  from pyedb.ipc2581.ipc2581 import Ipc2581
136
137
  from pyedb.modeler.geometry_operators import GeometryOperators
@@ -202,14 +203,13 @@ class Edb(EdbInit):
202
203
  edbversion: str = None,
203
204
  isaedtowned: bool = False,
204
205
  oproject=None,
205
- student_version: bool = False,
206
206
  use_ppe: bool = False,
207
207
  control_file: str = None,
208
208
  map_file: str = None,
209
209
  technology_file: str = None,
210
210
  layer_filter: str = None,
211
- remove_existing_aedt: bool = False,
212
211
  restart_rpc_server=False,
212
+ **kwargs,
213
213
  ):
214
214
  edbversion = get_string_version(edbversion)
215
215
  self._clean_variables()
@@ -291,13 +291,13 @@ class Edb(EdbInit):
291
291
  return False
292
292
  elif edbpath.endswith("edb.def"):
293
293
  self.edbpath = os.path.dirname(edbpath)
294
- self.open_edb(restart_rpc_server=restart_rpc_server)
294
+ self.open(restart_rpc_server=restart_rpc_server)
295
295
  elif not os.path.exists(os.path.join(self.edbpath, "edb.def")):
296
- self.create_edb(restart_rpc_server=restart_rpc_server)
296
+ self.create(restart_rpc_server=restart_rpc_server)
297
297
  self.logger.info("EDB %s created correctly.", self.edbpath)
298
298
  elif ".aedb" in edbpath:
299
299
  self.edbpath = edbpath
300
- self.open_edb(restart_rpc_server=restart_rpc_server)
300
+ self.open(restart_rpc_server=restart_rpc_server)
301
301
  if self.active_cell:
302
302
  self.logger.info("EDB initialized.")
303
303
  else:
@@ -366,6 +366,11 @@ class Edb(EdbInit):
366
366
  if description: # Add the variable description if a two-item list is passed for variable_value.
367
367
  self.__getitem__(variable_name).description = description
368
368
 
369
+ @property
370
+ def core(self) -> ansys.edb.core:
371
+ """Ansys Edb Core module."""
372
+ return ansys.edb.core
373
+
369
374
  def _check_remove_project_files(self, edbpath: str, remove_existing_aedt: bool) -> None:
370
375
  aedt_file = os.path.splitext(edbpath)[0] + ".aedt"
371
376
  files = [aedt_file, aedt_file + ".lock"]
@@ -397,6 +402,14 @@ class Edb(EdbInit):
397
402
  self._differential_pairs = DifferentialPairs(self)
398
403
  self._extended_nets = ExtendedNets(self)
399
404
 
405
+ def value(self, val):
406
+ """Convert a value into a pyedb value."""
407
+ if isinstance(val, GrpcValue):
408
+ return Value(val)
409
+ else:
410
+ context = self.active_cell if not str(val).startswith("$") else self.active_db
411
+ return Value(GrpcValue(val, context), context)
412
+
400
413
  @property
401
414
  def cell_names(self) -> [str]:
402
415
  """List of all cell names in the database.
@@ -417,7 +430,7 @@ class Edb(EdbInit):
417
430
  dict[str, float]
418
431
  Variable names and values.
419
432
  """
420
- return {i: self.active_cell.get_variable_value(i).value for i in self.active_cell.get_all_variable_names()}
433
+ return {i: Value(self.active_cell.get_variable_value(i)) for i in self.active_cell.get_all_variable_names()}
421
434
 
422
435
  @property
423
436
  def project_variables(self) -> dict[str, float]:
@@ -428,7 +441,7 @@ class Edb(EdbInit):
428
441
  dict[str, float]
429
442
  Variable names and values.
430
443
  """
431
- return {i: self.active_db.get_variable_value(i).value for i in self.active_db.get_all_variable_names()}
444
+ return {i: Value(self.active_db.get_variable_value(i)) for i in self.active_db.get_all_variable_names()}
432
445
 
433
446
  @property
434
447
  def layout_validation(self) -> LayoutValidation:
@@ -539,7 +552,11 @@ class Edb(EdbInit):
539
552
  dict[str, :class:`Terminal <pyedb.grpc.database.terminal.terminal.Terminal>`]
540
553
  Source names and objects.
541
554
  """
542
- return self.terminals
555
+ return {
556
+ k: i
557
+ for k, i in self.terminals.items()
558
+ if "source" in i.boundary_type or "terminal" in i.boundary_type or i.is_reference_terminal
559
+ }
543
560
 
544
561
  @property
545
562
  def voltage_regulator_modules(self):
@@ -565,7 +582,7 @@ class Edb(EdbInit):
565
582
  dict[str, :class:`Terminal <pyedb.grpc.database.terminal.terminal.Terminal>`]
566
583
  Probe names and objects.
567
584
  """
568
- terms = [term for term in self.layout.terminals if term.boundary_type.value == 8]
585
+ terms = [term for term in self.layout.terminals if term.boundary_type == "voltage_probe"]
569
586
  return {ter.name: ter for ter in terms}
570
587
 
571
588
  def open(self, restart_rpc_server=False) -> bool:
@@ -1285,7 +1302,7 @@ class Edb(EdbInit):
1285
1302
  func : str
1286
1303
  Command to execute.
1287
1304
  """
1288
- # return self.edb_api.utility.utility.Command.Execute(func)
1305
+ # return self.core.utility.utility.Command.Execute(func)
1289
1306
  pass
1290
1307
 
1291
1308
  def import_cadence_file(self, inputBrd, WorkDir=None, anstranslator_full_path="", use_ppe=False) -> bool:
@@ -1559,7 +1576,7 @@ class Edb(EdbInit):
1559
1576
  for term in terms:
1560
1577
  if term.type == "PointTerminal" and term.net.name in reference_list:
1561
1578
  pd = term.get_parameters()[1]
1562
- locations.append([pd.x.value, pd.y.value])
1579
+ locations.append([Value(pd.x), Value(pd.y)])
1563
1580
  for point in locations:
1564
1581
  pointA = GrpcPointData([point[0] - expansion_size, point[1] - expansion_size])
1565
1582
  pointB = GrpcPointData([point[0] + expansion_size, point[1] + expansion_size])
@@ -1827,7 +1844,7 @@ class Edb(EdbInit):
1827
1844
  include_pingroups=True,
1828
1845
  inlcude_voids_in_extents=False,
1829
1846
  ):
1830
- expansion_size = GrpcValue(expansion_size).value
1847
+ expansion_size = Value(expansion_size)
1831
1848
 
1832
1849
  # validate nets in layout
1833
1850
  net_signals = [net for net in self.layout.nets if net.name in signal_list]
@@ -1910,7 +1927,7 @@ class Edb(EdbInit):
1910
1927
  self.components.delete_single_pin_rlc()
1911
1928
  self.logger.info_timer("Single Pins components deleted")
1912
1929
  self.components.refresh_components()
1913
- return [[pt.x.value, pt.y.value] for pt in _poly.without_arcs().points]
1930
+ return [[Value(pt.x), Value(pt.y)] for pt in _poly.without_arcs().points]
1914
1931
 
1915
1932
  def _create_cutout_multithread(
1916
1933
  self,
@@ -1939,7 +1956,7 @@ class Edb(EdbInit):
1939
1956
  if output_aedb_path:
1940
1957
  self.save_edb_as(output_aedb_path)
1941
1958
  self.logger.info("Cutout Multithread started.")
1942
- expansion_size = GrpcValue(expansion_size).value
1959
+ expansion_size = Value(expansion_size)
1943
1960
 
1944
1961
  timer_start = self.logger.reset_timer()
1945
1962
  if custom_extent:
@@ -1983,17 +2000,20 @@ class Edb(EdbInit):
1983
2000
  reference_pinsts = []
1984
2001
  reference_prims = []
1985
2002
  reference_paths = []
2003
+ delete_list = []
1986
2004
  for i in self.padstacks.instances.values():
1987
2005
  net_name = i.net_name
1988
2006
  id = i.id
1989
2007
  if net_name not in all_list and id not in pins_to_preserve:
1990
- i.delete()
2008
+ delete_list.append(i)
2009
+ # i.delete()
1991
2010
  elif net_name in reference_list and id not in pins_to_preserve:
1992
2011
  reference_pinsts.append(i)
1993
2012
  for i in self.modeler.primitives:
1994
2013
  if not i.is_null and not i.net.is_null:
1995
2014
  if i.net.name not in all_list:
1996
- i.delete()
2015
+ # i.delete()
2016
+ delete_list.append(i)
1997
2017
  elif i.net.name in reference_list and not i.is_void:
1998
2018
  if keep_lines_as_path and isinstance(i, Path):
1999
2019
  reference_paths.append(i)
@@ -2001,7 +2021,8 @@ class Edb(EdbInit):
2001
2021
  reference_prims.append(i)
2002
2022
  self.logger.info_timer("Net clean up")
2003
2023
  self.logger.reset_timer()
2004
-
2024
+ for i in delete_list:
2025
+ i.delete()
2005
2026
  if custom_extent and isinstance(custom_extent, list):
2006
2027
  if custom_extent[0] != custom_extent[-1]:
2007
2028
  custom_extent.append(custom_extent[0])
@@ -2033,7 +2054,7 @@ class Edb(EdbInit):
2033
2054
  ExtentType as GrpcExtentType,
2034
2055
  )
2035
2056
 
2036
- if extent_type in ["Conforming", GrpcExtentType.CONFORMING, 1]:
2057
+ if extent_type in ["Conformal", "Conforming", GrpcExtentType.CONFORMING, 1]:
2037
2058
  if extent_defeature > 0:
2038
2059
  _poly = _poly.defeature(extent_defeature)
2039
2060
  _poly1 = GrpcPolygonData(arcs=_poly.arc_data, closed=True)
@@ -2156,7 +2177,7 @@ class Edb(EdbInit):
2156
2177
  self.save_edb()
2157
2178
  self.logger.info_timer("Cutout completed.", timer_start)
2158
2179
  self.logger.reset_timer()
2159
- return [[pt.x.value, pt.y.value] for pt in _poly.without_arcs().points]
2180
+ return [[Value(pt.x), Value(pt.y)] for pt in _poly.without_arcs().points]
2160
2181
 
2161
2182
  def get_conformal_polygon_from_netlist(self, netlist=None) -> Union[bool, Polygon]:
2162
2183
  """Returns conformal polygon data based on a netlist.
@@ -2282,7 +2303,7 @@ class Edb(EdbInit):
2282
2303
  for p in p_missing:
2283
2304
  position = GrpcPointData(p.position)
2284
2305
  net = self.nets.find_or_create_net(p.net_name)
2285
- rotation = GrpcValue(p.rotation)
2306
+ rotation = Value(p.rotation)
2286
2307
  sign_layers = list(self.stackup.signal_layers.keys())
2287
2308
  if not p.start_layer: # pragma: no cover
2288
2309
  fromlayer = self.stackup.signal_layers[sign_layers[0]]
@@ -2374,7 +2395,7 @@ class Edb(EdbInit):
2374
2395
  self.logger.warning("aedb def file manually created.")
2375
2396
  except:
2376
2397
  pass
2377
- return [[pt.x.value, pt.y.value] for pt in polygon_data.without_arcs().points]
2398
+ return [[Value(pt.x), Value(pt.y)] for pt in polygon_data.without_arcs().points]
2378
2399
 
2379
2400
  @staticmethod
2380
2401
  def write_export3d_option_config_file(path_to_output, config_dictionaries=None):
@@ -2657,12 +2678,12 @@ class Edb(EdbInit):
2657
2678
  Variable value if exists, else False.
2658
2679
  """
2659
2680
  if self.variable_exists(variable_name):
2660
- if "$" in variable_name:
2661
- if variable_name.index("$") == 0:
2662
- variable = next(var for var in self.active_db.get_all_variable_names())
2663
- else:
2664
- variable = next(var for var in self.active_cell.get_all_variable_names())
2681
+ if variable_name.startswith("$"):
2682
+ variable = next(var for var in self.active_db.get_all_variable_names())
2665
2683
  return self.db.get_variable_value(variable)
2684
+ else:
2685
+ variable = next(var for var in self.active_cell.get_all_variable_names())
2686
+ return self.active_cell.get_variable_value(variable)
2666
2687
  self.logger.info(f"Variable {variable_name} doesn't exists.")
2667
2688
  return False
2668
2689
 
@@ -2736,11 +2757,11 @@ class Edb(EdbInit):
2736
2757
  """
2737
2758
  if self.variable_exists(variable_name):
2738
2759
  if variable_name in self.db.get_all_variable_names():
2739
- self.db.set_variable_value(variable_name, GrpcValue(variable_value))
2760
+ self.db.set_variable_value(variable_name, Value(variable_value))
2740
2761
  elif variable_name in self.active_cell.get_all_variable_names():
2741
- self.active_cell.set_variable_value(variable_name, GrpcValue(variable_value))
2762
+ self.active_cell.set_variable_value(variable_name, Value(variable_value))
2742
2763
 
2743
- def get_bounding_box(self) -> list[list[float, float], list[float, float]]:
2764
+ def get_bounding_box(self) -> tuple[tuple[float, float], tuple[float, float]]:
2744
2765
  """Get layout bounding box.
2745
2766
 
2746
2767
  Returns
@@ -2750,7 +2771,7 @@ class Edb(EdbInit):
2750
2771
  """
2751
2772
  lay_inst_polygon_data = [obj_inst.get_bbox() for obj_inst in self.layout_instance.query_layout_obj_instances()]
2752
2773
  layout_bbox = GrpcPolygonData.bbox_of_polygons(lay_inst_polygon_data)
2753
- return [[layout_bbox[0].x.value, layout_bbox[0].y.value], [layout_bbox[1].x.value, layout_bbox[1].y.value]]
2774
+ return ((Value(layout_bbox[0].x), Value(layout_bbox[0].y)), (Value(layout_bbox[1].x), Value(layout_bbox[1].y)))
2754
2775
 
2755
2776
  def get_statistics(self, compute_area=False):
2756
2777
  """Get layout statistics.
@@ -3437,7 +3458,7 @@ class Edb(EdbInit):
3437
3458
  _layers = {k: v for k, v in self.stackup.layers.items() if k in layer_filter}
3438
3459
  for layer_name, layer in _layers.items():
3439
3460
  var, val = _apply_variable(f"${layer_name}", layer.thickness)
3440
- layer.thickness = GrpcValue(var, self.active_db)
3461
+ layer.thickness = Value(var, self.active_db)
3441
3462
  parameters.append(val)
3442
3463
  if materials:
3443
3464
  if not material_filter:
@@ -3447,14 +3468,14 @@ class Edb(EdbInit):
3447
3468
  for mat_name, material in _materials.items():
3448
3469
  if not material.conductivity or material.conductivity < 1e4:
3449
3470
  var, val = _apply_variable(f"$epsr_{mat_name}", material.permittivity)
3450
- material.permittivity = GrpcValue(var, self.active_db)
3471
+ material.permittivity = Value(var, self.active_db)
3451
3472
  parameters.append(val)
3452
3473
  var, val = _apply_variable(f"$loss_tangent_{mat_name}", material.dielectric_loss_tangent)
3453
- material.dielectric_loss_tangent = GrpcValue(var, self.active_db)
3474
+ material.dielectric_loss_tangent = Value(var, self.active_db)
3454
3475
  parameters.append(val)
3455
3476
  else:
3456
3477
  var, val = _apply_variable(f"$sigma_{mat_name}", material.conductivity)
3457
- material.conductivity = GrpcValue(var, self.active_db)
3478
+ material.conductivity = Value(var, self.active_db)
3458
3479
  parameters.append(val)
3459
3480
  if traces:
3460
3481
  if not trace_net_filter:
@@ -3470,7 +3491,7 @@ class Edb(EdbInit):
3470
3491
  else:
3471
3492
  trace_width_variable = f"{path.aedt_name}"
3472
3493
  var, val = _apply_variable(trace_width_variable, path.width)
3473
- path.width = GrpcValue(var, self.active_cell)
3494
+ path.width = Value(var, self.active_cell)
3474
3495
  parameters.append(val)
3475
3496
  if not padstack_definition_filter:
3476
3497
  if trace_net_filter:
@@ -3497,7 +3518,7 @@ class Edb(EdbInit):
3497
3518
  hole_variable = f"${def_name}_hole_diameter"
3498
3519
  if padstack_def.hole_diameter:
3499
3520
  var, val = _apply_variable(hole_variable, padstack_def.hole_diameter)
3500
- padstack_def.hole_properties = GrpcValue(var, self.active_db)
3521
+ padstack_def.hole_properties = Value(var, self.active_db)
3501
3522
  parameters.append(val)
3502
3523
  if pads:
3503
3524
  for layer, pad in padstack_def.pad_by_layer.items():
@@ -3712,7 +3733,7 @@ class Edb(EdbInit):
3712
3733
  material="pec",
3713
3734
  )
3714
3735
  if launching_box_thickness:
3715
- launching_box_thickness = str(GrpcValue(launching_box_thickness))
3736
+ launching_box_thickness = str(Value(launching_box_thickness))
3716
3737
  cloned_edb.stackup.add_layer(
3717
3738
  layer_name="ref",
3718
3739
  layer_type="signal",
@@ -3747,7 +3768,7 @@ class Edb(EdbInit):
3747
3768
  .parameters_values
3748
3769
  )
3749
3770
  else:
3750
- pad_diameter = GrpcValue(terminal_diameter).value
3771
+ pad_diameter = Value(terminal_diameter)
3751
3772
  _temp_circle = cloned_edb.modeler.create_circle(
3752
3773
  layer_name="ports",
3753
3774
  x=inst.position[0],
pyedb/grpc/edb_init.py CHANGED
@@ -34,7 +34,6 @@ from pyedb import __version__
34
34
  from pyedb.edb_logger import pyedb_logger
35
35
  from pyedb.generic.general_methods import env_path, env_value, is_linux
36
36
  from pyedb.grpc.rpc_session import RpcSession
37
- from pyedb.misc.misc import list_installed_ansysem
38
37
 
39
38
 
40
39
  class EdbInit(object):
@@ -43,12 +42,6 @@ class EdbInit(object):
43
42
  def __init__(self, edbversion):
44
43
  self.logger = pyedb_logger
45
44
  self._db = None
46
- if not edbversion: # pragma: no cover
47
- try:
48
- edbversion = "20{}.{}".format(list_installed_ansysem()[0][-3:-1], list_installed_ansysem()[0][-1:])
49
- self.logger.info("Edb version " + edbversion)
50
- except IndexError:
51
- raise Exception("No ANSYSEM_ROOTxxx is found.")
52
45
  self.edbversion = edbversion
53
46
  self.logger.info("Logger is initialized in EDB.")
54
47
  self.logger.info("legacy v%s", __version__)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyedb
3
- Version: 0.53.0
3
+ Version: 0.54.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>
@@ -27,8 +27,8 @@ Requires-Dist: Rtree >= 1.2.0
27
27
  Requires-Dist: toml == 0.10.2
28
28
  Requires-Dist: shapely
29
29
  Requires-Dist: scikit-rf
30
- Requires-Dist: ansys-edb-core>=0.2.0.dev0
31
- Requires-Dist: ansys-api-edb>=0.2.0.dev0
30
+ Requires-Dist: ansys-edb-core>=0.2.0
31
+ Requires-Dist: ansys-api-edb>=0.2.0
32
32
  Requires-Dist: psutil
33
33
  Requires-Dist: ansys-sphinx-theme>=1.0.0,<1.5 ; extra == "doc"
34
34
  Requires-Dist: imageio>=2.30.0,<2.38 ; extra == "doc"