pyedb 0.26.0__tar.gz → 0.26.2__tar.gz

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 (192) hide show
  1. {pyedb-0.26.0 → pyedb-0.26.2}/PKG-INFO +3 -3
  2. {pyedb-0.26.0 → pyedb-0.26.2}/pyproject.toml +2 -2
  3. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/__init__.py +1 -1
  4. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb.py +26 -13
  5. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/primitive/primitive.py +2 -76
  6. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/dotnet/primitive.py +4 -5
  7. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/primitives_data.py +1 -1
  8. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/nets.py +2 -76
  9. pyedb-0.26.2/src/pyedb/misc/utilities.py +100 -0
  10. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/siwave.py +11 -3
  11. pyedb-0.26.0/src/pyedb/misc/utilities.py +0 -27
  12. {pyedb-0.26.0 → pyedb-0.26.2}/LICENSE +0 -0
  13. {pyedb-0.26.0 → pyedb-0.26.2}/README.md +0 -0
  14. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/component_libraries/ansys_components.py +0 -0
  15. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/__init__.py +0 -0
  16. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_boundaries.py +0 -0
  17. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_common.py +0 -0
  18. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_components.py +0 -0
  19. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_data.py +0 -0
  20. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_general.py +0 -0
  21. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_nets.py +0 -0
  22. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_operations.py +0 -0
  23. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_package_definition.py +0 -0
  24. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_padstacks.py +0 -0
  25. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
  26. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_ports_sources.py +0 -0
  27. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
  28. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_setup.py +0 -0
  29. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_spice_models.py +0 -0
  30. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/cfg_stackup.py +0 -0
  31. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/configuration/configuration.py +0 -0
  32. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/__init__.py +0 -0
  33. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/application/Variables.py +0 -0
  34. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/application/__init__.py +0 -0
  35. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/clr_module.py +0 -0
  36. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/__init__.py +0 -0
  37. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/__init__.py +0 -0
  38. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/connectable.py +0 -0
  39. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
  40. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/component.py +0 -0
  41. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +0 -0
  42. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/model.py +0 -0
  43. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py +0 -0
  44. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py +0 -0
  45. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/s_parameter_model.py +0 -0
  46. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py +0 -0
  47. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/layout.py +0 -0
  48. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/layout_obj.py +0 -0
  49. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/primitive/__init__.py +0 -0
  50. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/primitive/bondwire.py +0 -0
  51. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/primitive/path.py +0 -0
  52. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/__init__.py +0 -0
  53. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py +0 -0
  54. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py +0 -0
  55. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py +0 -0
  56. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py +0 -0
  57. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/point_terminal.py +0 -0
  58. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/terminal/terminal.py +0 -0
  59. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/cell/voltage_regulator.py +0 -0
  60. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/components.py +0 -0
  61. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/definition/__init__.py +0 -0
  62. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/definition/component_def.py +0 -0
  63. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/definition/component_model.py +0 -0
  64. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/definition/definition_obj.py +0 -0
  65. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/definition/definitions.py +0 -0
  66. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/definition/package_def.py +0 -0
  67. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
  68. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/dotnet/database.py +0 -0
  69. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
  70. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/control_file.py +0 -0
  71. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/design_options.py +0 -0
  72. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/edbvalue.py +0 -0
  73. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +0 -0
  74. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/layer_data.py +0 -0
  75. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/nets_data.py +0 -0
  76. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py +0 -0
  77. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/ports.py +0 -0
  78. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py +0 -0
  79. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -0
  80. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/sources.py +0 -0
  81. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/utilities.py +0 -0
  82. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/edb_data/variables.py +0 -0
  83. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/general.py +0 -0
  84. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/geometry/__init__.py +0 -0
  85. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/geometry/point_data.py +0 -0
  86. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/geometry/polygon_data.py +0 -0
  87. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/hfss.py +0 -0
  88. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/layout_obj_instance.py +0 -0
  89. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/layout_validation.py +0 -0
  90. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/materials.py +0 -0
  91. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/modeler.py +0 -0
  92. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/net_class.py +0 -0
  93. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/padstack.py +0 -0
  94. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/__init__.py +0 -0
  95. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py +0 -0
  96. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py +0 -0
  97. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py +0 -0
  98. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/settings.py +0 -0
  99. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py +0 -0
  100. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py +0 -0
  101. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
  102. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py +0 -0
  103. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/io/__init__.py +0 -0
  104. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/sim_setup_data/io/siwave.py +0 -0
  105. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/siwave.py +0 -0
  106. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/stackup.py +0 -0
  107. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/utilities/__init__.py +0 -0
  108. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/utilities/heatsink.py +0 -0
  109. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py +0 -0
  110. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/utilities/obj_base.py +0 -0
  111. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/utilities/simulation_setup.py +0 -0
  112. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py +0 -0
  113. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/edb_logger.py +0 -0
  114. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/exceptions.py +0 -0
  115. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/__init__.py +0 -0
  116. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/constants.py +0 -0
  117. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/data_handlers.py +0 -0
  118. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/design_types.py +0 -0
  119. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/filesystem.py +0 -0
  120. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/general_methods.py +0 -0
  121. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/plot.py +0 -0
  122. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/process.py +0 -0
  123. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/generic/settings.py +0 -0
  124. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/__init__.py +0 -0
  125. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/bom/__init__.py +0 -0
  126. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/bom/bom.py +0 -0
  127. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
  128. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
  129. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/bom/refdes.py +0 -0
  130. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/__init__.py +0 -0
  131. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/color.py +0 -0
  132. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/content.py +0 -0
  133. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
  134. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
  135. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
  136. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/entry_color.py +0 -0
  137. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/entry_line.py +0 -0
  138. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/fill.py +0 -0
  139. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
  140. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
  141. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
  142. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
  143. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
  144. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
  145. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
  146. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
  147. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
  148. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
  149. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
  150. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
  151. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
  152. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
  153. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
  154. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
  155. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
  156. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
  157. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
  158. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
  159. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
  160. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
  161. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
  162. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
  163. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
  164. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
  165. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
  166. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
  167. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
  168. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ecad/spec.py +0 -0
  169. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/history_record.py +0 -0
  170. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/ipc2581.py +0 -0
  171. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/ipc2581/logistic_header.py +0 -0
  172. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/__init__.py +0 -0
  173. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
  174. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/downloads.py +0 -0
  175. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/misc.py +0 -0
  176. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
  177. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
  178. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  179. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
  180. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
  181. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
  182. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
  183. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
  184. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
  185. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
  186. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
  187. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
  188. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
  189. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
  190. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/modeler/geometry_operators.py +0 -0
  191. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/siwave_core/icepak.py +0 -0
  192. {pyedb-0.26.0 → pyedb-0.26.2}/src/pyedb/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.26.0
3
+ Version: 0.26.2
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>
@@ -19,7 +19,7 @@ Requires-Dist: cffi>=1.16.0,<1.18; platform_system=='Linux'
19
19
  Requires-Dist: pywin32 >= 303;platform_system=='Windows'
20
20
  Requires-Dist: ansys-pythonnet >= 3.1.0rc3
21
21
  Requires-Dist: dotnetcore2 ==3.1.23;platform_system=='Linux'
22
- Requires-Dist: numpy>=1.20.0,<2
22
+ Requires-Dist: numpy>=1.20.0,<2.2
23
23
  Requires-Dist: pandas>=1.1.0,<2.3
24
24
  Requires-Dist: pydantic>=2.6.4,<2.9
25
25
  Requires-Dist: Rtree >= 1.2.0
@@ -27,7 +27,7 @@ Requires-Dist: toml == 0.10.2
27
27
  Requires-Dist: scikit-rf
28
28
  Requires-Dist: ansys-sphinx-theme>=0.10.0,<1.1 ; extra == "doc"
29
29
  Requires-Dist: imageio>=2.30.0,<2.36 ; extra == "doc"
30
- Requires-Dist: ipython>=8.13.0,<8.27 ; extra == "doc"
30
+ Requires-Dist: ipython>=8.13.0,<8.28 ; extra == "doc"
31
31
  Requires-Dist: jupyterlab>=4.0.0,<4.3 ; extra == "doc"
32
32
  Requires-Dist: jupytext>=1.16.0,<1.17 ; extra == "doc"
33
33
  Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "doc"
@@ -29,7 +29,7 @@ dependencies = [
29
29
  "pywin32 >= 303;platform_system=='Windows'",
30
30
  "ansys-pythonnet >= 3.1.0rc3",
31
31
  "dotnetcore2 ==3.1.23;platform_system=='Linux'",
32
- "numpy>=1.20.0,<2",
32
+ "numpy>=1.20.0,<2.2",
33
33
  "pandas>=1.1.0,<2.3",
34
34
  "pydantic>=2.6.4,<2.9",
35
35
  "Rtree >= 1.2.0",
@@ -49,7 +49,7 @@ tests = [
49
49
  doc = [
50
50
  "ansys-sphinx-theme>=0.10.0,<1.1",
51
51
  "imageio>=2.30.0,<2.36",
52
- "ipython>=8.13.0,<8.27",
52
+ "ipython>=8.13.0,<8.28",
53
53
  "jupyterlab>=4.0.0,<4.3",
54
54
  "jupytext>=1.16.0,<1.17",
55
55
  "matplotlib>=3.5.0,<3.10",
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.26.0"
47
+ __version__ = "0.26.2"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -4411,12 +4411,19 @@ class Edb(Database):
4411
4411
  if not temp_directory:
4412
4412
  self.logger.error("Temp directory must be provided when creating model foe arbitrary wave port")
4413
4413
  return False
4414
+ if mounting_side not in ["top", "bottom"]:
4415
+ self.logger.error(
4416
+ "Mounting side must be provided and only `top` or `bottom` are supported. Setting to "
4417
+ "`top` will take the top layer from the current design as reference. Setting to `bottom` "
4418
+ "will take the bottom one."
4419
+ )
4414
4420
  if not output_edb:
4415
4421
  output_edb = os.path.join(temp_directory, "waveport_model.aedb")
4416
4422
  if os.path.isdir(temp_directory):
4417
4423
  shutil.rmtree(temp_directory)
4424
+ os.mkdir(temp_directory)
4418
4425
  reference_layer = list(self.stackup.signal_layers.keys())[0]
4419
- if mounting_side.lower == "bottom":
4426
+ if mounting_side.lower() == "bottom":
4420
4427
  reference_layer = list(self.stackup.signal_layers.keys())[-1]
4421
4428
  if not signal_nets:
4422
4429
  signal_nets = list(self.nets.signal.keys())
@@ -4462,25 +4469,31 @@ class Edb(Database):
4462
4469
  )
4463
4470
  return False
4464
4471
  cloned_edb = Edb(edbpath=output_edb, edbversion=self.edbversion)
4465
- cloned_edb.stackup.add_layer(layer_name="ref", layer_type="signal", thickness=0.0, material="pec")
4472
+
4466
4473
  cloned_edb.stackup.add_layer(
4467
4474
  layer_name="ports",
4468
4475
  layer_type="signal",
4469
4476
  thickness=self.stackup.signal_layers[reference_layer].thickness,
4470
4477
  material="pec",
4471
4478
  )
4472
- box_thick = "100um"
4473
4479
  if launching_box_thickness:
4474
- box_thick = self.edb_value(launching_box_thickness).ToString()
4475
- if mounting_side == "top":
4476
- cloned_edb.stackup.add_layer(
4477
- layer_name="port_pec", layer_type="signal", thickness=box_thick, method="add_on_bottom", material="pec"
4478
- )
4479
- else:
4480
- cloned_edb.stackup.add_layer(
4481
- layer_name="port_pec", layer_type="signal", thickness=box_thick, method="add_on_top", material="pec"
4482
- )
4483
-
4480
+ launching_box_thickness = self.edb_value(launching_box_thickness).ToString()
4481
+ cloned_edb.stackup.add_layer(
4482
+ layer_name="ref",
4483
+ layer_type="signal",
4484
+ thickness=0.0,
4485
+ material="pec",
4486
+ method=f"add_on_{mounting_side}",
4487
+ base_layer="ports",
4488
+ )
4489
+ cloned_edb.stackup.add_layer(
4490
+ layer_name="port_pec",
4491
+ layer_type="signal",
4492
+ thickness=launching_box_thickness,
4493
+ method=f"add_on_{mounting_side}",
4494
+ material="pec",
4495
+ base_layer="ports",
4496
+ )
4484
4497
  for void_info in void_padstacks:
4485
4498
  port_poly = cloned_edb.modeler.create_polygon(
4486
4499
  main_shape=void_info[0].polygon_data._edb_object, layer_name="ref", net_name="GND"
@@ -19,11 +19,11 @@
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
- import math
23
22
 
24
23
  from pyedb.dotnet.edb_core.cell.connectable import Connectable
25
24
  from pyedb.dotnet.edb_core.general import convert_py_list_to_net_list
26
25
  from pyedb.dotnet.edb_core.geometry.polygon_data import PolygonData
26
+ from pyedb.misc.utilities import compute_arc_points
27
27
  from pyedb.modeler.geometry_operators import GeometryOperators
28
28
 
29
29
 
@@ -202,80 +202,6 @@ class Primitive(Connectable):
202
202
  def is_negative(self, value):
203
203
  self._edb_object.SetIsNegative(value)
204
204
 
205
- @staticmethod
206
- def _eval_arc_points(p1, p2, h, n=6, tol=1e-12):
207
- """Get the points of the arc
208
-
209
- Parameters
210
- ----------
211
- p1 : list
212
- Arc starting point.
213
- p2 : list
214
- Arc ending point.
215
- h : float
216
- Arc height.
217
- n : int
218
- Number of points to generate along the arc.
219
- tol : float
220
- Geometric tolerance.
221
-
222
- Returns
223
- -------
224
- list, list
225
- Points generated along the arc.
226
- """
227
- # fmt: off
228
- if abs(h) < tol:
229
- return [], []
230
- elif h > 0:
231
- reverse = False
232
- x1 = p1[0]
233
- y1 = p1[1]
234
- x2 = p2[0]
235
- y2 = p2[1]
236
- else:
237
- reverse = True
238
- x1 = p2[0]
239
- y1 = p2[1]
240
- x2 = p1[0]
241
- y2 = p1[1]
242
- h *= -1
243
- xa = (x2 - x1) / 2
244
- ya = (y2 - y1) / 2
245
- xo = x1 + xa
246
- yo = y1 + ya
247
- a = math.sqrt(xa ** 2 + ya ** 2)
248
- if a < tol:
249
- return [], []
250
- r = (a ** 2) / (2 * h) + h / 2
251
- if abs(r - a) < tol:
252
- b = 0
253
- th = 2 * math.asin(1) # chord angle
254
- else:
255
- b = math.sqrt(r ** 2 - a ** 2)
256
- th = 2 * math.asin(a / r) # chord angle
257
-
258
- # center of the circle
259
- xc = xo + b * ya / a
260
- yc = yo - b * xa / a
261
-
262
- alpha = math.atan2((y1 - yc), (x1 - xc))
263
- xr = []
264
- yr = []
265
- for i in range(n):
266
- i += 1
267
- dth = (float(i) / (n + 1)) * th
268
- xi = xc + r * math.cos(alpha - dth)
269
- yi = yc + r * math.sin(alpha - dth)
270
- xr.append(xi)
271
- yr.append(yi)
272
-
273
- if reverse:
274
- xr.reverse()
275
- yr.reverse()
276
- # fmt: on
277
- return xr, yr
278
-
279
205
  def _get_points_for_plot(self, my_net_points, num):
280
206
  """
281
207
  Get the points to be plotted.
@@ -295,7 +221,7 @@ class Primitive(Connectable):
295
221
  p2 = [my_net_points[i + 1].X.ToDouble(), my_net_points[i + 1].Y.ToDouble()]
296
222
  else:
297
223
  p2 = [my_net_points[0].X.ToDouble(), my_net_points[0].Y.ToDouble()]
298
- x_arc, y_arc = self._eval_arc_points(p1, p2, arc_h, num)
224
+ x_arc, y_arc = compute_arc_points(p1, p2, arc_h, num)
299
225
  x.extend(x_arc)
300
226
  y.extend(y_arc)
301
227
  # i += 1
@@ -21,8 +21,10 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  """Primitive."""
24
+
24
25
  from pyedb.dotnet.edb_core.dotnet.database import NetDotNet
25
26
  from pyedb.dotnet.edb_core.general import convert_py_list_to_net_list
27
+ from pyedb.misc.utilities import compute_arc_points
26
28
  from pyedb.modeler.geometry_operators import GeometryOperators
27
29
 
28
30
 
@@ -256,11 +258,10 @@ class PrimitiveDotNet:
256
258
  """
257
259
  self.prim_obj.MakeZonePrimitive(zone_id)
258
260
 
259
- def _get_points_for_plot(self, my_net_points, num):
261
+ def _get_points_for_plot(self, my_net_points, n=6, tol=1e-12):
260
262
  """
261
263
  Get the points to be plot
262
264
  """
263
- # fmt: off
264
265
  x = []
265
266
  y = []
266
267
  for i, point in enumerate(my_net_points):
@@ -276,11 +277,9 @@ class PrimitiveDotNet:
276
277
  p2 = [my_net_points[i + 1].X.ToDouble(), my_net_points[i + 1].Y.ToDouble()]
277
278
  else:
278
279
  p2 = [my_net_points[0].X.ToDouble(), my_net_points[0].Y.ToDouble()]
279
- x_arc, y_arc = self._eval_arc_points(p1, p2, arc_h, num)
280
+ x_arc, y_arc = compute_arc_points(p1, p2, arc_h, n, tol)
280
281
  x.extend(x_arc)
281
282
  y.extend(y_arc)
282
- # i += 1
283
- # fmt: on
284
283
  return x, y
285
284
 
286
285
  def points(self, arc_segments=6):
@@ -488,7 +488,7 @@ class EDBArcs(object):
488
488
  """
489
489
  try:
490
490
  my_net_points = self.points_raw
491
- xt, yt = self._app._get_points_for_plot(my_net_points, arc_segments)
491
+ xt, yt = self._app._active_cell.primitive._get_points_for_plot(my_net_points, arc_segments)
492
492
  if not xt:
493
493
  return []
494
494
  x, y = GeometryOperators.orient_polygon(xt, yt, clockwise=True)
@@ -22,7 +22,6 @@
22
22
 
23
23
  from __future__ import absolute_import # noreorder
24
24
 
25
- import math
26
25
  import os
27
26
  import time
28
27
  import warnings
@@ -30,6 +29,7 @@ import warnings
30
29
  from pyedb.dotnet.edb_core.edb_data.nets_data import EDBNetsData
31
30
  from pyedb.generic.constants import CSS4_COLORS
32
31
  from pyedb.generic.general_methods import generate_unique_name
32
+ from pyedb.misc.utilities import compute_arc_points
33
33
  from pyedb.modeler.geometry_operators import GeometryOperators
34
34
 
35
35
 
@@ -354,80 +354,6 @@ class EdbNets(object):
354
354
 
355
355
  return _extended_nets
356
356
 
357
- @staticmethod
358
- def _eval_arc_points(p1, p2, h, n=6, tol=1e-12):
359
- """Get the points of the arc.
360
-
361
- Parameters
362
- ----------
363
- p1 : list
364
- Arc starting point.
365
- p2 : list
366
- Arc ending point.
367
- h : float
368
- Arc height.
369
- n : int
370
- Number of points to generate along the arc.
371
- tol : float
372
- Geometric tolerance.
373
-
374
- Returns
375
- -------
376
- list
377
- points generated along the arc.
378
- """
379
- # fmt: off
380
- if abs(h) < tol:
381
- return [], []
382
- elif h > 0:
383
- reverse = False
384
- x1 = p1[0]
385
- y1 = p1[1]
386
- x2 = p2[0]
387
- y2 = p2[1]
388
- else:
389
- reverse = True
390
- x1 = p2[0]
391
- y1 = p2[1]
392
- x2 = p1[0]
393
- y2 = p1[1]
394
- h *= -1
395
- xa = (x2 - x1) / 2
396
- ya = (y2 - y1) / 2
397
- xo = x1 + xa
398
- yo = y1 + ya
399
- a = math.sqrt(xa ** 2 + ya ** 2)
400
- if a < tol:
401
- return [], []
402
- r = (a ** 2) / (2 * h) + h / 2
403
- if abs(r - a) < tol:
404
- b = 0
405
- th = 2 * math.asin(1) # chord angle
406
- else:
407
- b = math.sqrt(r ** 2 - a ** 2)
408
- th = 2 * math.asin(a / r) # chord angle
409
-
410
- # center of the circle
411
- xc = xo + b * ya / a
412
- yc = yo - b * xa / a
413
-
414
- alpha = math.atan2((y1 - yc), (x1 - xc))
415
- xr = []
416
- yr = []
417
- for i in range(n):
418
- i += 1
419
- dth = (i / (n + 1)) * th
420
- xi = xc + r * math.cos(alpha - dth)
421
- yi = yc + r * math.sin(alpha - dth)
422
- xr.append(xi)
423
- yr.append(yi)
424
-
425
- if reverse:
426
- xr.reverse()
427
- yr.reverse()
428
- # fmt: on
429
- return xr, yr
430
-
431
357
  def _get_points_for_plot(self, my_net_points):
432
358
  """
433
359
  Get the points to be plot
@@ -448,7 +374,7 @@ class EdbNets(object):
448
374
  p2 = [my_net_points[i + 1].X.ToDouble(), my_net_points[i + 1].Y.ToDouble()]
449
375
  else:
450
376
  p2 = [my_net_points[0].X.ToDouble(), my_net_points[0].Y.ToDouble()]
451
- x_arc, y_arc = self._eval_arc_points(p1, p2, arc_h)
377
+ x_arc, y_arc = compute_arc_points(p1, p2, arc_h)
452
378
  x.extend(x_arc)
453
379
  y.extend(y_arc)
454
380
  # i += 1
@@ -0,0 +1,100 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ """Module gathering utility functions for PyEDB modules."""
24
+
25
+
26
+ import math
27
+
28
+
29
+ def compute_arc_points(p1, p2, h, n=6, tol=1e-12):
30
+ """Get the points of the arc.
31
+
32
+ Parameters
33
+ ----------
34
+ p1 : list
35
+ Arc starting point.
36
+ p2 : list
37
+ Arc ending point.
38
+ h : float
39
+ Arc height.
40
+ n : int
41
+ Number of points to generate along the arc.
42
+ tol : float
43
+ Geometric tolerance.
44
+
45
+ Returns
46
+ -------
47
+ list, list
48
+ Points generated along the arc.
49
+ """
50
+ if abs(h) < tol:
51
+ return [], []
52
+ elif h > 0:
53
+ reverse = False
54
+ x1 = p1[0]
55
+ y1 = p1[1]
56
+ x2 = p2[0]
57
+ y2 = p2[1]
58
+ else:
59
+ reverse = True
60
+ x1 = p2[0]
61
+ y1 = p2[1]
62
+ x2 = p1[0]
63
+ y2 = p1[1]
64
+ h *= -1
65
+
66
+ xa = (x2 - x1) / 2
67
+ ya = (y2 - y1) / 2
68
+ xo = x1 + xa
69
+ yo = y1 + ya
70
+ a = math.sqrt(xa**2 + ya**2)
71
+ if a < tol:
72
+ return [], []
73
+ r = (a**2) / (2 * h) + h / 2
74
+ if abs(r - a) < tol:
75
+ b = 0
76
+ th = 2 * math.asin(1) # chord angle
77
+ else:
78
+ b = math.sqrt(r**2 - a**2)
79
+ th = 2 * math.asin(a / r) # chord angle
80
+
81
+ # Center of the circle
82
+ xc = xo + b * ya / a
83
+ yc = yo - b * xa / a
84
+
85
+ alpha = math.atan2((y1 - yc), (x1 - xc))
86
+ xr = []
87
+ yr = []
88
+ for i in range(n):
89
+ i += 1
90
+ dth = (float(i) / (n + 1)) * th
91
+ xi = xc + r * math.cos(alpha - dth)
92
+ yi = yc + r * math.sin(alpha - dth)
93
+ xr.append(xi)
94
+ yr.append(yi)
95
+
96
+ if reverse:
97
+ xr.reverse()
98
+ yr.reverse()
99
+
100
+ return xr, yr
@@ -11,6 +11,7 @@ from __future__ import absolute_import # noreorder
11
11
  import os
12
12
  from pathlib import Path
13
13
  import pkgutil
14
+ import shutil
14
15
  import sys
15
16
  import tempfile
16
17
  import time
@@ -19,7 +20,7 @@ import warnings
19
20
  from pyedb import Edb
20
21
  from pyedb.dotnet.clr_module import _clr
21
22
  from pyedb.edb_logger import pyedb_logger
22
- from pyedb.generic.general_methods import _pythonver, is_windows
23
+ from pyedb.generic.general_methods import _pythonver, generate_unique_name, is_windows
23
24
  from pyedb.misc.misc import list_installed_ansysem
24
25
  from pyedb.siwave_core.icepak import Icepak
25
26
 
@@ -63,6 +64,11 @@ class Siwave(object): # pragma no cover
63
64
 
64
65
  """
65
66
 
67
+ @property
68
+ def version(self):
69
+ ver = self.oSiwave.GetVersion()
70
+ return ".".join(ver.split(".")[:-1])
71
+
66
72
  @property
67
73
  def version_keys(self):
68
74
  """Version keys for AEDT."""
@@ -330,6 +336,7 @@ class Siwave(object): # pragma no cover
330
336
 
331
337
  """
332
338
  self._main.oSiwave.Quit()
339
+ self._main.oSiwave = None
333
340
  return True
334
341
 
335
342
  def export_element_data(self, simulation_name, file_path, data_type="Vias"):
@@ -509,16 +516,17 @@ class Siwave(object): # pragma no cover
509
516
  # temp_folder = tempfile.TemporaryDirectory(suffix=".ansys")
510
517
  # temp_edb = os.path.join(temp_folder.name, "temp.aedb")
511
518
 
512
- temp_edb = os.path.join(self.file_dir, "temp.aedb")
519
+ temp_edb = os.path.join(tempfile.gettempdir(), generate_unique_name("temp") + ".aedb")
513
520
 
514
521
  self.export_edb(temp_edb)
515
522
  self.oproject.ScrCloseProject()
516
- edbapp = Edb(temp_edb, edbversion=self.current_version)
523
+ edbapp = Edb(temp_edb, edbversion=self.version)
517
524
  edbapp.configuration.load(file_path)
518
525
  edbapp.configuration.run()
519
526
  edbapp.save()
520
527
  edbapp.close()
521
528
  self.import_edb(temp_edb)
529
+ shutil.rmtree(Path(temp_edb), ignore_errors=True)
522
530
 
523
531
  def export_configuration(self, file_path: str):
524
532
  """Export layout information into a configuration file.
@@ -1,27 +0,0 @@
1
- from distutils.dir_util import copy_tree
2
-
3
-
4
- class file_tools:
5
- def __init__(self):
6
- pass
7
-
8
- @staticmethod
9
- def copy_folder(source_folder, destination_folder):
10
- """
11
-
12
- Parameters
13
- ----------
14
- source_folder : str
15
- source folder
16
-
17
- destination_folder : str
18
- destination folder.
19
-
20
-
21
- Returns
22
- -------
23
-
24
- """
25
-
26
- copy_tree(source_folder, destination_folder)
27
- return True
File without changes
File without changes