pyedb 0.26.3__tar.gz → 0.27.0__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 (191) hide show
  1. {pyedb-0.26.3 → pyedb-0.27.0}/PKG-INFO +1 -1
  2. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/__init__.py +1 -1
  3. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_spice_models.py +3 -2
  4. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/connectable.py +21 -0
  5. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/component.py +46 -18
  6. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/layout.py +25 -21
  7. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/primitive/primitive.py +1 -22
  8. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/terminal.py +0 -10
  9. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/components.py +2 -2
  10. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/definition/component_def.py +13 -3
  11. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py +0 -24
  12. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/geometry/polygon_data.py +13 -0
  13. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/layout_validation.py +1 -1
  14. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/padstack.py +1 -1
  15. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/utilities/obj_base.py +0 -13
  16. {pyedb-0.26.3 → pyedb-0.27.0}/LICENSE +0 -0
  17. {pyedb-0.26.3 → pyedb-0.27.0}/README.md +0 -0
  18. {pyedb-0.26.3 → pyedb-0.27.0}/pyproject.toml +0 -0
  19. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
  20. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/__init__.py +0 -0
  21. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
  22. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_common.py +0 -0
  23. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_components.py +0 -0
  24. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_data.py +0 -0
  25. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_general.py +0 -0
  26. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_nets.py +0 -0
  27. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_operations.py +0 -0
  28. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_package_definition.py +0 -0
  29. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_padstacks.py +0 -0
  30. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
  31. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_ports_sources.py +0 -0
  32. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
  33. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_setup.py +0 -0
  34. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
  35. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/configuration/configuration.py +0 -0
  36. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/__init__.py +0 -0
  37. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/application/Variables.py +0 -0
  38. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/application/__init__.py +0 -0
  39. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/clr_module.py +0 -0
  40. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb.py +0 -0
  41. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/__init__.py +0 -0
  42. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/__init__.py +0 -0
  43. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
  44. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +0 -0
  45. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/model.py +0 -0
  46. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py +0 -0
  47. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py +0 -0
  48. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/s_parameter_model.py +0 -0
  49. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py +0 -0
  50. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/layout_obj.py +0 -0
  51. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/primitive/__init__.py +0 -0
  52. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/primitive/bondwire.py +0 -0
  53. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/primitive/path.py +0 -0
  54. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/__init__.py +0 -0
  55. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py +0 -0
  56. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py +0 -0
  57. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py +0 -0
  58. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py +0 -0
  59. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/terminal/point_terminal.py +0 -0
  60. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/cell/voltage_regulator.py +0 -0
  61. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/definition/__init__.py +0 -0
  62. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/definition/component_model.py +0 -0
  63. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/definition/definition_obj.py +0 -0
  64. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/definition/definitions.py +0 -0
  65. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/definition/package_def.py +0 -0
  66. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
  67. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/dotnet/database.py +0 -0
  68. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/dotnet/primitive.py +0 -0
  69. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
  70. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/control_file.py +0 -0
  71. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/design_options.py +0 -0
  72. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/edbvalue.py +0 -0
  73. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +0 -0
  74. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/layer_data.py +0 -0
  75. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/nets_data.py +0 -0
  76. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/ports.py +0 -0
  77. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/primitives_data.py +0 -0
  78. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py +0 -0
  79. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -0
  80. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/sources.py +0 -0
  81. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/utilities.py +0 -0
  82. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/edb_data/variables.py +0 -0
  83. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/general.py +0 -0
  84. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/geometry/__init__.py +0 -0
  85. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/geometry/point_data.py +0 -0
  86. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/hfss.py +0 -0
  87. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/layout_obj_instance.py +0 -0
  88. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/materials.py +0 -0
  89. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/modeler.py +0 -0
  90. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/net_class.py +0 -0
  91. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/nets.py +0 -0
  92. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/__init__.py +0 -0
  93. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py +0 -0
  94. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py +0 -0
  95. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py +0 -0
  96. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/settings.py +0 -0
  97. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py +0 -0
  98. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py +0 -0
  99. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
  100. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py +0 -0
  101. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/io/__init__.py +0 -0
  102. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/sim_setup_data/io/siwave.py +0 -0
  103. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/siwave.py +0 -0
  104. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/stackup.py +0 -0
  105. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/utilities/__init__.py +0 -0
  106. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/utilities/heatsink.py +0 -0
  107. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py +0 -0
  108. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/utilities/simulation_setup.py +0 -0
  109. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py +0 -0
  110. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/edb_logger.py +0 -0
  111. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/exceptions.py +0 -0
  112. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/__init__.py +0 -0
  113. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/constants.py +0 -0
  114. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/data_handlers.py +0 -0
  115. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/design_types.py +0 -0
  116. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/filesystem.py +0 -0
  117. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/general_methods.py +0 -0
  118. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/plot.py +0 -0
  119. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/process.py +0 -0
  120. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/generic/settings.py +0 -0
  121. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/__init__.py +0 -0
  122. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/bom/__init__.py +0 -0
  123. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
  124. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
  125. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
  126. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
  127. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/__init__.py +0 -0
  128. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/color.py +0 -0
  129. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/content.py +0 -0
  130. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
  131. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
  132. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
  133. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
  134. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
  135. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/fill.py +0 -0
  136. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
  137. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
  138. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
  139. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
  140. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
  141. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
  142. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
  143. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
  144. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
  145. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
  146. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
  147. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
  148. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
  149. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
  150. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
  151. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
  152. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
  153. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
  154. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
  155. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
  156. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
  157. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
  158. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
  159. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
  160. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
  161. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
  162. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
  163. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
  164. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
  165. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
  166. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/history_record.py +0 -0
  167. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/ipc2581.py +0 -0
  168. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
  169. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/__init__.py +0 -0
  170. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
  171. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/downloads.py +0 -0
  172. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/misc.py +0 -0
  173. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
  174. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
  175. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  176. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
  177. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
  178. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
  179. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
  180. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
  181. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
  182. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
  183. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
  184. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
  185. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
  186. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
  187. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/misc/utilities.py +0 -0
  188. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/modeler/geometry_operators.py +0 -0
  189. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/siwave.py +0 -0
  190. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/siwave_core/icepak.py +0 -0
  191. {pyedb-0.26.3 → pyedb-0.27.0}/src/pyedb/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.26.3
3
+ Version: 0.27.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>
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.26.3"
47
+ __version__ = "0.27.0"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -34,6 +34,7 @@ class CfgSpiceModel:
34
34
  self.sub_circuit_name = self._spice_dict.get("sub_circuit_name", "")
35
35
  self.apply_to_all = self._spice_dict.get("apply_to_all", True)
36
36
  self.components = list(self._spice_dict.get("components", []))
37
+ self.terminal_pairs = self._spice_dict.get("terminal_pairs", None)
37
38
 
38
39
  def apply(self):
39
40
  """Apply Spice model on layout."""
@@ -45,8 +46,8 @@ class CfgSpiceModel:
45
46
  comps = self._pedb.components.definitions[self.component_definition].components
46
47
  if self.apply_to_all:
47
48
  for ref_des, comp in comps.items():
48
- comp.assign_spice_model(fpath, self.name, self.sub_circuit_name)
49
+ comp.assign_spice_model(fpath, self.name, self.sub_circuit_name, self.terminal_pairs)
49
50
  else:
50
51
  for ref_des, comp in comps.items():
51
52
  if ref_des in self.components:
52
- comp.assign_spice_model(fpath, self.name, self.sub_circuit_name)
53
+ comp.assign_spice_model(fpath, self.name, self.sub_circuit_name, self.terminal_pairs)
@@ -47,6 +47,27 @@ class Connectable(LayoutObj):
47
47
  net = self._pedb.nets[value]
48
48
  self._edb_object.SetNet(net.net_object)
49
49
 
50
+ @property
51
+ def net_name(self):
52
+ """Get the primitive layer name.
53
+
54
+ Returns
55
+ -------
56
+ str
57
+ """
58
+ try:
59
+ return self._edb_object.GetNet().GetName()
60
+ except (KeyError, AttributeError): # pragma: no cover
61
+ return None
62
+
63
+ @net_name.setter
64
+ def net_name(self, name):
65
+ if name in self._pedb.nets.netlist:
66
+ obj = self._pedb.nets.nets[name].net_object
67
+ self._edb_object.SetNet(obj)
68
+ else:
69
+ raise ValueError(f"Net {name} not found.")
70
+
50
71
  @property
51
72
  def component(self):
52
73
  """Component connected to this object.
@@ -22,6 +22,7 @@
22
22
 
23
23
  import logging
24
24
  import re
25
+ from typing import Optional
25
26
  import warnings
26
27
 
27
28
  from pyedb.dotnet.edb_core.cell.hierarchy.hierarchy_obj import Group
@@ -61,6 +62,15 @@ class EDBComponent(Group):
61
62
  self._layout_instance = None
62
63
  self._comp_instance = None
63
64
 
65
+ @property
66
+ def name(self):
67
+ """Name of the definition."""
68
+ return self._edb_object.GetName()
69
+
70
+ @name.setter
71
+ def name(self, value):
72
+ self._edb_object.SetName(value)
73
+
64
74
  @property
65
75
  def group_type(self):
66
76
  return self._edb_object.ToString().split(".")[-1].lower()
@@ -808,7 +818,13 @@ class EDBComponent(Group):
808
818
  return False
809
819
  return True
810
820
 
811
- def assign_spice_model(self, file_path, name=None, sub_circuit_name=None):
821
+ def assign_spice_model(
822
+ self,
823
+ file_path: str,
824
+ name: Optional[str] = None,
825
+ sub_circuit_name: Optional[str] = None,
826
+ terminal_pairs: Optional[list] = None,
827
+ ):
812
828
  """Assign Spice model to this component.
813
829
 
814
830
  Parameters
@@ -817,6 +833,10 @@ class EDBComponent(Group):
817
833
  File path of the Spice model.
818
834
  name : str, optional
819
835
  Name of the Spice model.
836
+ sub_circuit_name : str, optional
837
+ Name of the sub circuit.
838
+ terminal_pairs : list, optional
839
+ list of terminal pairs.
820
840
 
821
841
  Returns
822
842
  -------
@@ -828,23 +848,30 @@ class EDBComponent(Group):
828
848
  with open(file_path, "r") as f:
829
849
  for line in f:
830
850
  if "subckt" in line.lower():
831
- pinNames = [i.strip() for i in re.split(" |\t", line) if i]
832
- pinNames.remove(pinNames[0])
833
- pinNames.remove(pinNames[0])
851
+ pin_names_sp = [i.strip() for i in re.split(" |\t", line) if i]
852
+ pin_names_sp.remove(pin_names_sp[0])
853
+ pin_names_sp.remove(pin_names_sp[0])
834
854
  break
835
- if len(pinNames) == self.numpins:
836
- model = self._edb.cell.hierarchy._hierarchy.SPICEModel()
837
- model.SetModelPath(file_path)
838
- model.SetModelName(name)
839
- if sub_circuit_name:
840
- model.SetSubCkt(sub_circuit_name)
841
- terminal = 1
842
- for pn in pinNames:
843
- model.AddTerminalPinPair(pn, str(terminal))
844
- terminal += 1
845
- else: # pragma: no cover
846
- logging.error("Wrong number of Pins")
847
- return False
855
+ if not len(pin_names_sp) == self.numpins: # pragma: no cover
856
+ raise ValueError(f"Pin counts doesn't match component {self.name}.")
857
+
858
+ model = self._edb.cell.hierarchy._hierarchy.SPICEModel()
859
+ model.SetModelPath(file_path)
860
+ model.SetModelName(name)
861
+ if sub_circuit_name:
862
+ model.SetSubCkt(sub_circuit_name)
863
+
864
+ if terminal_pairs:
865
+ terminal_pairs = terminal_pairs if isinstance(terminal_pairs[0], list) else [terminal_pairs]
866
+ for pair in terminal_pairs:
867
+ pname, pnumber = pair
868
+ if pname not in pin_names_sp: # pragma: no cover
869
+ raise ValueError(f"Pin name {pname} doesn't exist in {file_path}.")
870
+ model.AddTerminalPinPair(pname, str(pnumber))
871
+ else:
872
+ for idx, pname in enumerate(pin_names_sp):
873
+ model.AddTerminalPinPair(pname, str(idx + 1))
874
+
848
875
  return self._set_model(model)
849
876
 
850
877
  def assign_s_param_model(self, file_path, name=None, reference_net=None):
@@ -856,7 +883,8 @@ class EDBComponent(Group):
856
883
  File path of the S-parameter model.
857
884
  name : str, optional
858
885
  Name of the S-parameter model.
859
-
886
+ reference_net : str, optional
887
+ Name of the reference net.
860
888
  Returns
861
889
  -------
862
890
 
@@ -54,6 +54,29 @@ from pyedb.dotnet.edb_core.general import convert_py_list_to_net_list
54
54
  from pyedb.dotnet.edb_core.utilities.obj_base import ObjBase
55
55
 
56
56
 
57
+ def primitive_cast(pedb, edb_object):
58
+ if edb_object.GetPrimitiveType().ToString() == "Rectangle":
59
+ return EdbRectangle(edb_object, pedb)
60
+ elif edb_object.GetPrimitiveType().ToString() == "Circle":
61
+ return EdbCircle(edb_object, pedb)
62
+ elif edb_object.GetPrimitiveType().ToString() == "Polygon":
63
+ return EdbPolygon(edb_object, pedb)
64
+ elif edb_object.GetPrimitiveType().ToString() == "Path":
65
+ return Path(pedb, edb_object)
66
+ elif edb_object.GetPrimitiveType().ToString() == "Bondwire":
67
+ return Bondwire(pedb, edb_object)
68
+ elif edb_object.GetPrimitiveType().ToString() == "Text":
69
+ return EdbText(edb_object, pedb)
70
+ elif edb_object.GetPrimitiveType().ToString() == "PrimitivePlugin":
71
+ return
72
+ elif edb_object.GetPrimitiveType().ToString() == "Path3D":
73
+ return
74
+ elif edb_object.GetPrimitiveType().ToString() == "BoardBendDef":
75
+ return
76
+ else:
77
+ return
78
+
79
+
57
80
  class Layout(ObjBase):
58
81
  def __init__(self, pedb, edb_object):
59
82
  super().__init__(pedb, edb_object)
@@ -209,7 +232,7 @@ class Layout(ObjBase):
209
232
  """
210
233
  prims = []
211
234
  for p in self._edb_object.Primitives:
212
- obj = self.find_object_by_id(p.GetId())
235
+ obj = primitive_cast(self._pedb, p)
213
236
  prims.append(obj)
214
237
  return prims
215
238
 
@@ -285,26 +308,7 @@ class Layout(ObjBase):
285
308
  return EDBPadstackInstance(obj, self._pedb)
286
309
 
287
310
  if obj.GetObjType().ToString() == "Primitive":
288
- if obj.GetPrimitiveType().ToString() == "Rectangle":
289
- return EdbRectangle(obj, self._pedb)
290
- elif obj.GetPrimitiveType().ToString() == "Circle":
291
- return EdbCircle(obj, self._pedb)
292
- elif obj.GetPrimitiveType().ToString() == "Polygon":
293
- return EdbPolygon(obj, self._pedb)
294
- elif obj.GetPrimitiveType().ToString() == "Path":
295
- return Path(self._pedb, obj)
296
- elif obj.GetPrimitiveType().ToString() == "Bondwire":
297
- return Bondwire(self._pedb, obj)
298
- elif obj.GetPrimitiveType().ToString() == "Text":
299
- return EdbText(obj, self._pedb)
300
- elif obj.GetPrimitiveType().ToString() == "PrimitivePlugin":
301
- pass
302
- elif obj.GetPrimitiveType().ToString() == "Path3D":
303
- pass
304
- elif obj.GetPrimitiveType().ToString() == "BoardBendDef":
305
- pass
306
- else:
307
- pass
311
+ return primitive_cast(self._pedb, obj)
308
312
 
309
313
  def find_net_by_name(self, value: str):
310
314
  """Find a net object by name
@@ -89,27 +89,6 @@ class Primitive(Connectable):
89
89
  """
90
90
  return self._edb_object.GetPrimitiveType().ToString().lower()
91
91
 
92
- @property
93
- def net_name(self):
94
- """Get the primitive net name.
95
-
96
- Returns
97
- -------
98
- str
99
- """
100
- return self.net.name
101
-
102
- @net_name.setter
103
- def net_name(self, name):
104
- if isinstance(name, str):
105
- net = self._app.nets.nets[name].net_object
106
- self.primitive_object.SetNet(net)
107
- else:
108
- try:
109
- self.net = name.name
110
- except: # pragma: no cover
111
- self._app.logger.error("Failed to set net name.")
112
-
113
92
  @property
114
93
  def layer(self):
115
94
  """Get the primitive edb layer object."""
@@ -128,7 +107,7 @@ class Primitive(Connectable):
128
107
  str
129
108
  """
130
109
  try:
131
- return self.layer.name
110
+ return self._edb_object.GetLayer().GetName()
132
111
  except (KeyError, AttributeError): # pragma: no cover
133
112
  return None
134
113
 
@@ -159,16 +159,6 @@ class Terminal(Connectable):
159
159
  ppp.DoRenormalize = value
160
160
  self._port_post_processing_prop = ppp
161
161
 
162
- @property
163
- def net_name(self):
164
- """Net name.
165
-
166
- Returns
167
- -------
168
- str
169
- """
170
- return self.net.name
171
-
172
162
  @property
173
163
  def terminal_type(self):
174
164
  """Terminal Type.
@@ -1807,8 +1807,8 @@ class Components(object):
1807
1807
 
1808
1808
  sParameterMod = self._edb.cell.hierarchy._hierarchy.SParameterModel()
1809
1809
  sParameterMod.SetComponentModelName(nPortModelName)
1810
- gndnets = filter(lambda x: "gnd" in x.lower(), componentNets)
1811
- if len(list(gndnets)) > 0: # pragma: no cover
1810
+ gndnets = list(filter(lambda x: "gnd" in x.lower(), componentNets))
1811
+ if len(gndnets) > 0: # pragma: no cover
1812
1812
  net = gndnets[0]
1813
1813
  else: # pragma: no cover
1814
1814
  net = componentNets[len(componentNets) - 1]
@@ -130,22 +130,32 @@ class EDBComponentDef(ObjBase):
130
130
  comp.assign_s_param_model(file_path, model_name, reference_net)
131
131
  return True
132
132
 
133
- def assign_spice_model(self, file_path, model_name=None):
133
+ def assign_spice_model(
134
+ self,
135
+ file_path,
136
+ model_name=None,
137
+ sub_circuit_name=None,
138
+ terminal_pairs=None,
139
+ ):
134
140
  """Assign Spice model to all components under this part name.
135
141
 
136
142
  Parameters
137
143
  ----------
138
144
  file_path : str
139
145
  File path of the Spice model.
140
- name : str, optional
146
+ model_name : str, optional
141
147
  Name of the Spice model.
148
+ sub_circuit_name : str, optional
149
+ Name of the sub circuit.
150
+ terminal_pairs : list, optional
151
+ list of terminal pairs.
142
152
 
143
153
  Returns
144
154
  -------
145
155
 
146
156
  """
147
157
  for comp in list(self.components.values()):
148
- comp.assign_spice_model(file_path, model_name)
158
+ comp.assign_spice_model(file_path, model_name, sub_circuit_name, terminal_pairs)
149
159
  return True
150
160
 
151
161
  @property
@@ -1562,30 +1562,6 @@ class EDBPadstackInstance(Primitive):
1562
1562
  break
1563
1563
  return layer_list
1564
1564
 
1565
- @property
1566
- def net_name(self):
1567
- """Net name.
1568
-
1569
- Returns
1570
- -------
1571
- str
1572
- Name of the net.
1573
- """
1574
- return self._edb_padstackinstance.GetNet().GetName()
1575
-
1576
- @net_name.setter
1577
- def net_name(self, val):
1578
- if not isinstance(val, str):
1579
- try:
1580
- self._edb_padstackinstance.SetNet(val.net_obj)
1581
- except:
1582
- raise AttributeError("Value inserted not found. Input has to be net name or net object.")
1583
- elif val in self._pedb.nets.netlist:
1584
- net = self._pedb.nets.nets[val].net_object
1585
- self._edb_padstackinstance.SetNet(net)
1586
- else:
1587
- raise AttributeError("Value inserted not found. Input has to be net name or net object.")
1588
-
1589
1565
  @property
1590
1566
  def is_pin(self):
1591
1567
  """Determines whether this padstack instance is a layout pin.
@@ -51,6 +51,19 @@ class PolygonData:
51
51
  else: # pragma: no cover
52
52
  self._edb_object = edb_object
53
53
 
54
+ @property
55
+ def bounding_box(self):
56
+ """Bounding box.
57
+
58
+ Returns
59
+ -------
60
+ List[float]
61
+ List of coordinates for the component's bounding box, with the list of
62
+ coordinates in this order: [X lower left corner, Y lower left corner,
63
+ X upper right corner, Y upper right corner].
64
+ """
65
+ return BBox(self._pedb, self._edb_object.GetBBox()).corner_points
66
+
54
67
  @property
55
68
  def arcs(self):
56
69
  """Get the Primitive Arc Data."""
@@ -249,7 +249,7 @@ class LayoutValidation:
249
249
  new_nets.append(net_obj.name)
250
250
  for geo in disjoints:
251
251
  try:
252
- obj_dict[geo].net_name = net_obj
252
+ obj_dict[geo].net_name = net_obj.name
253
253
  except KeyError:
254
254
  pass
255
255
  disjoints_objects.extend(disjoints)
@@ -62,7 +62,7 @@ class EdbPadstacks(object):
62
62
 
63
63
  """
64
64
  if isinstance(name, int) and name in self.instances:
65
- return self._pedb.layout.find_object_by_id(name)
65
+ return self.instances(name)
66
66
  elif name in self.definitions:
67
67
  return self.definitions[name]
68
68
  else:
@@ -79,16 +79,3 @@ class ObjBase(object):
79
79
  @name.setter
80
80
  def name(self, value):
81
81
  self._edb_object.SetName(value)
82
-
83
- @property
84
- def bounding_box(self):
85
- """Bounding box.
86
-
87
- Returns
88
- -------
89
- List[float]
90
- List of coordinates for the component's bounding box, with the list of
91
- coordinates in this order: [X lower left corner, Y lower left corner,
92
- X upper right corner, Y upper right corner].
93
- """
94
- return BBox(self._pedb, self._edb_object.GetBBox()).corner_points
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes