pyedb 0.22.1__tar.gz → 0.23.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 (188) hide show
  1. {pyedb-0.22.1 → pyedb-0.23.0}/PKG-INFO +2 -2
  2. {pyedb-0.22.1 → pyedb-0.23.0}/pyproject.toml +1 -1
  3. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/__init__.py +1 -1
  4. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_components.py +1 -1
  5. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_ports_sources.py +3 -3
  6. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/configuration.py +2 -2
  7. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb.py +20 -23
  8. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/component.py +1 -1
  9. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/terminal.py +1 -1
  10. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/components.py +14 -13
  11. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py +2 -14
  12. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -18
  13. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/hfss.py +1 -1
  14. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/materials.py +1 -1
  15. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/modeler.py +1 -1
  16. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/nets.py +3 -3
  17. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/padstack.py +4 -4
  18. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/siwave.py +1 -1
  19. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/stackup.py +61 -84
  20. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +1 -1
  21. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ipc2581.py +2 -2
  22. {pyedb-0.22.1 → pyedb-0.23.0}/LICENSE +0 -0
  23. {pyedb-0.22.1 → pyedb-0.23.0}/README.md +0 -0
  24. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
  25. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/__init__.py +0 -0
  26. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
  27. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_common.py +0 -0
  28. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_data.py +0 -0
  29. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_general.py +0 -0
  30. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_nets.py +0 -0
  31. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_operations.py +0 -0
  32. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_package_definition.py +0 -0
  33. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_padstacks.py +0 -0
  34. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
  35. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
  36. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_setup.py +0 -0
  37. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
  38. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
  39. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/__init__.py +0 -0
  40. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/application/Variables.py +0 -0
  41. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/application/__init__.py +0 -0
  42. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/clr_module.py +0 -0
  43. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/__init__.py +0 -0
  44. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/__init__.py +0 -0
  45. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/connectable.py +0 -0
  46. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
  47. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +0 -0
  48. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/model.py +0 -0
  49. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py +0 -0
  50. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py +0 -0
  51. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/s_parameter_model.py +0 -0
  52. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py +0 -0
  53. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/layout.py +0 -0
  54. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/layout_obj.py +0 -0
  55. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/primitive.py +0 -0
  56. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/__init__.py +0 -0
  57. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py +0 -0
  58. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py +0 -0
  59. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py +0 -0
  60. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py +0 -0
  61. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/point_terminal.py +0 -0
  62. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/voltage_regulator.py +0 -0
  63. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/__init__.py +0 -0
  64. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/component_def.py +0 -0
  65. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/component_model.py +0 -0
  66. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/definition_obj.py +0 -0
  67. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/definitions.py +0 -0
  68. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/package_def.py +0 -0
  69. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
  70. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/dotnet/database.py +0 -0
  71. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/dotnet/primitive.py +0 -0
  72. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
  73. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/control_file.py +0 -0
  74. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/design_options.py +0 -0
  75. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/edbvalue.py +0 -0
  76. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +0 -0
  77. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/layer_data.py +0 -0
  78. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/nets_data.py +0 -0
  79. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/ports.py +0 -0
  80. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/primitives_data.py +0 -0
  81. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py +0 -0
  82. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/sources.py +0 -0
  83. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/utilities.py +0 -0
  84. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/variables.py +0 -0
  85. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/general.py +0 -0
  86. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/geometry/__init__.py +0 -0
  87. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/geometry/point_data.py +0 -0
  88. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/geometry/polygon_data.py +0 -0
  89. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/layout_obj_instance.py +0 -0
  90. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/layout_validation.py +0 -0
  91. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/net_class.py +0 -0
  92. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/__init__.py +0 -0
  93. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py +0 -0
  94. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py +0 -0
  95. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py +0 -0
  96. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/settings.py +0 -0
  97. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py +0 -0
  98. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py +0 -0
  99. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
  100. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py +0 -0
  101. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/io/__init__.py +0 -0
  102. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/io/siwave.py +0 -0
  103. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/__init__.py +0 -0
  104. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/heatsink.py +0 -0
  105. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py +0 -0
  106. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/obj_base.py +0 -0
  107. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/simulation_setup.py +0 -0
  108. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py +0 -0
  109. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/edb_logger.py +0 -0
  110. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/exceptions.py +0 -0
  111. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/__init__.py +0 -0
  112. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/constants.py +0 -0
  113. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/data_handlers.py +0 -0
  114. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/design_types.py +0 -0
  115. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/filesystem.py +0 -0
  116. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/general_methods.py +0 -0
  117. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/plot.py +0 -0
  118. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/process.py +0 -0
  119. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/settings.py +0 -0
  120. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/__init__.py +0 -0
  121. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/__init__.py +0 -0
  122. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
  123. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
  124. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
  125. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
  126. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/__init__.py +0 -0
  127. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/color.py +0 -0
  128. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/content.py +0 -0
  129. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
  130. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
  131. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
  132. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
  133. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
  134. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/fill.py +0 -0
  135. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
  136. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
  137. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
  138. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
  139. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
  140. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
  141. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
  142. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
  143. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
  144. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
  145. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
  146. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
  147. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
  148. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
  149. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
  150. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
  151. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
  152. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
  153. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
  154. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
  155. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
  156. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
  157. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
  158. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
  159. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
  160. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
  161. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
  162. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
  163. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
  164. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/history_record.py +0 -0
  165. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
  166. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/__init__.py +0 -0
  167. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
  168. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/downloads.py +0 -0
  169. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/misc.py +0 -0
  170. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
  171. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
  172. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  173. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
  174. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
  175. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
  176. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
  177. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
  178. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
  179. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
  180. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
  181. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
  182. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
  183. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
  184. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/utilities.py +0 -0
  185. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/modeler/geometry_operators.py +0 -0
  186. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/siwave.py +0 -0
  187. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/siwave_core/icepak.py +0 -0
  188. {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.22.1
3
+ Version: 0.23.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>
@@ -45,7 +45,7 @@ Requires-Dist: sphinx_design>=0.4.0,<0.7 ; extra == "doc"
45
45
  Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "full"
46
46
  Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "tests"
47
47
  Requires-Dist: mock>=5.1.0,<5.2 ; extra == "tests"
48
- Requires-Dist: pytest>=7.4.0,<8.3 ; extra == "tests"
48
+ Requires-Dist: pytest>=7.4.0,<8.4 ; extra == "tests"
49
49
  Requires-Dist: pytest-cov>=4.0.0,<5.1 ; extra == "tests"
50
50
  Requires-Dist: pytest-xdist>=3.5.0,<3.7 ; extra == "tests"
51
51
  Requires-Dist: scikit-rf ; extra == "tests"
@@ -41,7 +41,7 @@ dependencies = [
41
41
  tests = [
42
42
  "matplotlib>=3.5.0,<3.10",
43
43
  "mock>=5.1.0,<5.2",
44
- "pytest>=7.4.0,<8.3",
44
+ "pytest>=7.4.0,<8.4",
45
45
  "pytest-cov>=4.0.0,<5.1",
46
46
  "pytest-xdist>=3.5.0,<3.7",
47
47
  "scikit-rf"
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.22.1"
47
+ __version__ = "0.23.0"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -155,7 +155,7 @@ class CfgComponents:
155
155
  def _load_data_from_db(self):
156
156
  self.components = []
157
157
  comps_in_db = self._pedb.components
158
- for _, comp in comps_in_db.components.items():
158
+ for _, comp in comps_in_db.instances.items():
159
159
  cfg_comp = CfgComponent(
160
160
  enabled=comp.enabled,
161
161
  reference_designator=comp.name,
@@ -228,7 +228,7 @@ class CfgCircuitElement(CfgBase):
228
228
  neg_obj = self._create_pin_group(pins)
229
229
  pos_objs.update(neg_obj)
230
230
  elif pos_type == "pin":
231
- pins = {pos_value: self._pedb.components.components[self.reference_designator].pins[pos_value]}
231
+ pins = {pos_value: self._pedb.components.instances[self.reference_designator].pins[pos_value]}
232
232
  pos_objs.update(pins)
233
233
  else:
234
234
  raise f"Wrong positive terminal type {pos_type}"
@@ -263,7 +263,7 @@ class CfgCircuitElement(CfgBase):
263
263
  # create pin group
264
264
  neg_obj = self._create_pin_group(pins, True)
265
265
  elif neg_type == "pin":
266
- neg_obj = {neg_value: self._pedb.components.components[self.reference_designator].pins[neg_value]}
266
+ neg_obj = {neg_value: self._pedb.components.instances[self.reference_designator].pins[neg_value]}
267
267
  else:
268
268
  raise f"Wrong negative terminal type {neg_type}"
269
269
  self.neg_terminal = [
@@ -274,7 +274,7 @@ class CfgCircuitElement(CfgBase):
274
274
  terminal_value = terminal_value if isinstance(terminal_value, list) else [terminal_value]
275
275
 
276
276
  def get_pin_obj(pin_name):
277
- return {pin_name: self._pedb.components.components[self.reference_designator].pins[pin_name]}
277
+ return {pin_name: self._pedb.components.instances[self.reference_designator].pins[pin_name]}
278
278
 
279
279
  pins = dict()
280
280
  if terminal_type == "pin":
@@ -35,7 +35,7 @@ class Configuration:
35
35
 
36
36
  def __init__(self, pedb):
37
37
  self._pedb = pedb
38
- self._components = self._pedb.components.components
38
+ self._components = self._pedb.components.instances
39
39
  self.data = {}
40
40
  self._s_parameter_library = ""
41
41
  self._spice_model_library = ""
@@ -210,7 +210,7 @@ class Configuration:
210
210
 
211
211
  def _load_package_def(self):
212
212
  """Imports package definition information from JSON."""
213
- comps = self._pedb.components.components
213
+ comps = self._pedb.components.instances
214
214
  for pkgd in self.data["package_definitions"]:
215
215
  name = pkgd["name"]
216
216
  if name in self._pedb.definitions.package:
@@ -2396,7 +2396,7 @@ class Edb(Database):
2396
2396
  self.logger.reset_timer()
2397
2397
 
2398
2398
  i = 0
2399
- for _, val in self.components.components.items():
2399
+ for _, val in self.components.instances.items():
2400
2400
  if val.numpins == 0:
2401
2401
  val.edbcomponent.Delete()
2402
2402
  i += 1
@@ -2580,28 +2580,6 @@ class Edb(Database):
2580
2580
  else:
2581
2581
  return "{0}{1}".format(value, units)
2582
2582
 
2583
- def arg_with_dim(self, Value, sUnits):
2584
- """Convert a number to a string with units. If value is a string, it's returned as is.
2585
-
2586
- .. deprecated:: 0.6.56
2587
- Use :func:`number_with_units` property instead.
2588
-
2589
- Parameters
2590
- ----------
2591
- Value : float, int, str
2592
- Input number or string.
2593
- sUnits : optional
2594
- Units for formatting. The default is ``None``, which uses ``"meter"``.
2595
-
2596
- Returns
2597
- -------
2598
- str
2599
- String concatenating the value and unit.
2600
-
2601
- """
2602
- warnings.warn("Use :func:`number_with_units` instead.", DeprecationWarning)
2603
- return self.number_with_units(Value, sUnits)
2604
-
2605
2583
  def _decompose_variable_value(self, value, unit_system=None):
2606
2584
  val, units = decompose_variable_value(value)
2607
2585
  if units and unit_system and units in AEDT_UNITS[unit_system]:
@@ -4128,6 +4106,7 @@ class Edb(Database):
4128
4106
  open_aedb_at_end=True,
4129
4107
  expand_polygons_size=0,
4130
4108
  expand_voids_size=0,
4109
+ via_offset=True,
4131
4110
  ):
4132
4111
  """Assign automatically design and project variables with current values.
4133
4112
 
@@ -4163,6 +4142,12 @@ class Edb(Database):
4163
4142
  Full path and name for the new AEDB file. If None, then current aedb will be cutout.
4164
4143
  open_aedb_at_end : bool, optional
4165
4144
  Whether to open the cutout at the end. The default is ``True``.
4145
+ expand_polygons_size : float, optional
4146
+ Expansion size on polygons. Polygons will be expanded in all directions. The default is ``0``.
4147
+ expand_voids_size : float, optional
4148
+ Expansion size on polygon voids. Polygons voids will be expanded in all directions. The default is ``0``.
4149
+ via_offset : bool, optional
4150
+ Whether if offset the via position or not. The default is ``True``.
4166
4151
 
4167
4152
  Returns
4168
4153
  -------
@@ -4326,6 +4311,18 @@ class Edb(Database):
4326
4311
  antipad.parameters = {"XSize": var, "YSize": var2}
4327
4312
  parameters.append(val)
4328
4313
  parameters.append(val2)
4314
+
4315
+ if via_offset:
4316
+ var_x = "via_offset_x"
4317
+ if var_x not in self.variables:
4318
+ self.add_design_variable(var_x, 0.0)
4319
+ var_y = "via_offset_y"
4320
+ if var_y not in self.variables:
4321
+ self.add_design_variable(var_y, 0.0)
4322
+ for via in self.padstacks.instances.values():
4323
+ if not via.is_pin and (not trace_net_filter or (trace_net_filter and via.net_name in trace_net_filter)):
4324
+ via.position = [f"{via.position[0]}+via_offset_x", f"{via.position[1]}+via_offset_y"]
4325
+
4329
4326
  if expand_polygons_size:
4330
4327
  for poly in self.modeler.polygons:
4331
4328
  if not poly.is_void:
@@ -958,7 +958,7 @@ class EDBComponent(Group):
958
958
  opening.append(bounding_box[3] + extra_soldermask_clearance)
959
959
 
960
960
  comp_layer = self.placement_layer
961
- layer_names = list(self._pedb.stackup.stackup_layers.keys())
961
+ layer_names = list(self._pedb.stackup.layers.keys())
962
962
  layer_index = layer_names.index(comp_layer)
963
963
  if comp_layer in [layer_names[0] + layer_names[-1]]:
964
964
  return False
@@ -418,7 +418,7 @@ class Terminal(Connectable):
418
418
  if gnd_net is not None:
419
419
  power_ground_net_names = [gnd_net]
420
420
  else:
421
- power_ground_net_names = [net for net in self._pedb.nets.power_nets.keys()]
421
+ power_ground_net_names = [net for net in self._pedb.nets.power.keys()]
422
422
  comp_ref_pins = [i for i in pin_list if i.GetNet().GetName() in power_ground_net_names]
423
423
  if len(comp_ref_pins) == 0: # pragma: no cover
424
424
  self._pedb.logger.error(
@@ -133,7 +133,7 @@ class Components(object):
133
133
  return self._pedb.edb_api
134
134
 
135
135
  def _init_parts(self):
136
- a = self.components
136
+ a = self.instances
137
137
  a = self.resistors
138
138
  a = self.ICs
139
139
  a = self.Others
@@ -202,7 +202,7 @@ class Components(object):
202
202
 
203
203
  >>> from pyedb import Edb
204
204
  >>> edbapp = Edb("myaedbfolder")
205
- >>> edbapp.components.components
205
+ >>> edbapp.components.instances
206
206
 
207
207
  """
208
208
  if not self._cmp:
@@ -980,12 +980,7 @@ class Components(object):
980
980
  """
981
981
  if isinstance(component, str):
982
982
  component = self.instances[component].edbcomponent
983
- if not solder_balls_height:
984
- solder_balls_height = self.instances[component.GetName()].solder_ball_height
985
- if not solder_balls_size:
986
- solder_balls_size = self.instances[component.GetName()].solder_ball_diameter[0]
987
- if not solder_balls_mid_size:
988
- solder_balls_mid_size = self.instances[component.GetName()].solder_ball_diameter[1]
983
+
989
984
  if not isinstance(net_list, list):
990
985
  net_list = [net_list]
991
986
  for net in net_list:
@@ -1011,6 +1006,12 @@ class Components(object):
1011
1006
  return False
1012
1007
  pin_layers = cmp_pins[0].GetPadstackDef().GetData().GetLayerNames()
1013
1008
  if port_type == SourceType.CoaxPort:
1009
+ if not solder_balls_height:
1010
+ solder_balls_height = self.instances[component.GetName()].solder_ball_height
1011
+ if not solder_balls_size:
1012
+ solder_balls_size = self.instances[component.GetName()].solder_ball_diameter[0]
1013
+ if not solder_balls_mid_size:
1014
+ solder_balls_mid_size = self.instances[component.GetName()].solder_ball_diameter[1]
1014
1015
  ref_pins = [
1015
1016
  p
1016
1017
  for p in list(component.LayoutObjs)
@@ -2256,7 +2257,7 @@ class Components(object):
2256
2257
  self.set_component_rlc(new_refdes, ind_value=new_value)
2257
2258
  unmount_comp_list.remove(new_refdes)
2258
2259
  for comp in unmount_comp_list:
2259
- self.components[comp].is_enabled = False
2260
+ self.instances[comp].is_enabled = False
2260
2261
  return found
2261
2262
 
2262
2263
  def import_bom(
@@ -2301,7 +2302,7 @@ class Components(object):
2301
2302
  l = l.split(delimiter)
2302
2303
 
2303
2304
  refdes = l[refdes_col]
2304
- comp = self.components[refdes]
2305
+ comp = self.instances[refdes]
2305
2306
  if not part_name_col == None:
2306
2307
  part_name = l[part_name_col]
2307
2308
  if comp.partname == part_name:
@@ -2323,7 +2324,7 @@ class Components(object):
2323
2324
 
2324
2325
  self.create(pinlist, refdes, p_layer, part_name)
2325
2326
  self.refresh_components()
2326
- comp = self.components[refdes]
2327
+ comp = self.instances[refdes]
2327
2328
 
2328
2329
  comp_type = l[comp_type_col]
2329
2330
  if comp_type.capitalize() in ["Resistor", "Capacitor", "Inductor", "Other"]:
@@ -2346,7 +2347,7 @@ class Components(object):
2346
2347
  elif comp_type == "Inductor":
2347
2348
  self.set_component_rlc(refdes, ind_value=value)
2348
2349
  for comp in unmount_comp_list:
2349
- self.components[comp].is_enabled = False
2350
+ self.instances[comp].is_enabled = False
2350
2351
  return True
2351
2352
 
2352
2353
  def export_bom(self, bom_file, delimiter=","):
@@ -2707,7 +2708,7 @@ class Components(object):
2707
2708
  >>> edbapp.components.short_component_pins("J4A2", ["G4", "9", "3"])
2708
2709
 
2709
2710
  """
2710
- component = self.components[component_name]
2711
+ component = self.instances[component_name]
2711
2712
  pins = component.pins
2712
2713
  pins_list = []
2713
2714
 
@@ -726,9 +726,7 @@ class EDBPadstack(object):
726
726
  -------
727
727
  dict
728
728
  """
729
- return {
730
- id: via for id, via in self._ppadstack.padstack_instances.items() if via.padstack_definition == self.name
731
- }
729
+ return {id: via for id, via in self._ppadstack.instances.items() if via.padstack_definition == self.name}
732
730
 
733
731
  @property
734
732
  def hole_range(self):
@@ -801,7 +799,7 @@ class EDBPadstack(object):
801
799
  layer_names = [i for i in list(layers.keys())]
802
800
  if convert_only_signal_vias:
803
801
  signal_nets = [i for i in list(self._ppadstack._pedb.nets.signal_nets.keys())]
804
- topl, topz, bottoml, bottomz = self._ppadstack._pedb.stackup.stackup_limits(True)
802
+ topl, topz, bottoml, bottomz = self._ppadstack._pedb.stackup.limits(True)
805
803
  if self.via_start_layer in layers:
806
804
  start_elevation = layers[self.via_start_layer].lower_elevation
807
805
  else:
@@ -1771,16 +1769,6 @@ class EDBPadstackInstance(Primitive):
1771
1769
  self.position = [var_name + "X", var_name + "Y"]
1772
1770
  return [var_name + "X", var_name + "Y"]
1773
1771
 
1774
- def delete_padstack_instance(self):
1775
- """Delete this padstack instance.
1776
-
1777
- .. deprecated:: 0.6.28
1778
- Use :func:`delete` property instead.
1779
- """
1780
- warnings.warn("`delete_padstack_instance` is deprecated. Use `delete` instead.", DeprecationWarning)
1781
- self._edb_padstackinstance.Delete()
1782
- return True
1783
-
1784
1772
  def in_voids(self, net_name=None, layer_name=None):
1785
1773
  """Check if this padstack instance is in any void.
1786
1774
 
@@ -2450,24 +2450,6 @@ class SimulationConfiguration(object):
2450
2450
  self._dc_source_terms_to_ground[source_name] = node_to_ground
2451
2451
 
2452
2452
  def _read_cfg(self): # pragma: no cover
2453
- """Configuration file reader.
2454
-
2455
- .. deprecated:: 0.6.78
2456
- Use :func:`import_json` instead.
2457
-
2458
- Examples
2459
- --------
2460
-
2461
- >>> from pyedb import Edb
2462
- >>> config_file = path_configuration_file
2463
- >>> source_file = path_to_edb_folder
2464
- >>> edb = Edb(source_file)
2465
- >>> sim_setup = SimulationConfiguration(config_file)
2466
- >>> edb.build_simulation_project(sim_setup)
2467
- >>> edb.save_edb()
2468
- >>> edb.close_edb()
2469
- """
2470
-
2471
2453
  if not self.filename or not os.path.exists(self.filename):
2472
2454
  # raise Exception("{} does not exist.".format(self.filename))
2473
2455
  return
@@ -453,7 +453,7 @@ class EdbHfss(object):
453
453
  if not isinstance(net_list, list):
454
454
  net_list = [net_list]
455
455
  for ref in ref_des_list:
456
- for _, py_inst in self._pedb.components.components[ref].pins.items():
456
+ for _, py_inst in self._pedb.components.instances[ref].pins.items():
457
457
  if py_inst.net_name in net_list and py_inst.is_pin:
458
458
  port_name = "{}_{}_{}".format(ref, py_inst.net_name, py_inst.pin.GetName())
459
459
  (
@@ -1035,7 +1035,7 @@ class Materials(object):
1035
1035
  amat_file = os.path.join(self.__edb.base_path, "syslib", "Materials.amat")
1036
1036
  for material in self.iterate_materials_in_amat(amat_file):
1037
1037
  iter_material_name = material["name"]
1038
- if iter_material_name == material_name:
1038
+ if iter_material_name == material_name or iter_material_name.lower() == material_name.lower():
1039
1039
  for material_property, value in material.items():
1040
1040
  if material_property != "name":
1041
1041
  res[material_property] = value
@@ -1320,7 +1320,7 @@ class Modeler(object):
1320
1320
 
1321
1321
  """
1322
1322
  stat_model = EDBStatistics()
1323
- stat_model.num_layers = len(list(self._pedb.stackup.stackup_layers.values()))
1323
+ stat_model.num_layers = len(list(self._pedb.stackup.layers.values()))
1324
1324
  stat_model.num_capacitors = len(self._pedb.components.capacitors)
1325
1325
  stat_model.num_resistors = len(self._pedb.components.resistors)
1326
1326
  stat_model.num_inductors = len(self._pedb.components.inductors)
@@ -521,7 +521,7 @@ class EdbNets(object):
521
521
  bottom_layer = list(self._pedb.stackup.signal_layers.keys())[-1]
522
522
  if plot_components_on_top or plot_components_on_bottom:
523
523
  nc = 0
524
- for comp in self._pedb.components.components.values():
524
+ for comp in self._pedb.components.instances.values():
525
525
  if not comp.is_enabled:
526
526
  continue
527
527
  net_names = comp.nets
@@ -1149,9 +1149,9 @@ class EdbNets(object):
1149
1149
  ``True`` if the net is found in component pins.
1150
1150
 
1151
1151
  """
1152
- if component_name not in self._pedb.components.components:
1152
+ if component_name not in self._pedb.components.instances:
1153
1153
  return False
1154
- for net in self._pedb.components.components[component_name].nets:
1154
+ for net in self._pedb.components.instances[component_name].nets:
1155
1155
  if net_name == net:
1156
1156
  return True
1157
1157
  return False
@@ -108,7 +108,7 @@ class EdbPadstacks(object):
108
108
  @property
109
109
  def _layers(self):
110
110
  """ """
111
- return self._pedb.stackup.stackup_layers
111
+ return self._pedb.stackup.layers
112
112
 
113
113
  def int_to_pad_type(self, val=0):
114
114
  """Convert an integer to an EDB.PadGeometryType.
@@ -592,13 +592,13 @@ class EdbPadstacks(object):
592
592
  """
593
593
  pinlist = []
594
594
  if refdes:
595
- if refdes in self._pedb.components.components:
595
+ if refdes in self._pedb.components.instances:
596
596
  if netname:
597
- for pin, val in self._pedb.components.components[refdes].pins.items():
597
+ for pin, val in self._pedb.components.instances[refdes].pins.items():
598
598
  if val.net_name == netname:
599
599
  pinlist.append(val)
600
600
  else:
601
- for pin in self._pedb.components.components[refdes].pins.values():
601
+ for pin in self._pedb.components.instances[refdes].pins.values():
602
602
  pinlist.append(pin)
603
603
  elif netname:
604
604
  for pin in self._pedb.pins:
@@ -1235,7 +1235,7 @@ class EdbSiwave(object):
1235
1235
  pin_numbers = [str(p) for p in pin_numbers]
1236
1236
  if group_name is None:
1237
1237
  group_name = self._edb.cell.hierarchy.pin_group.GetUniqueName(self._active_layout)
1238
- comp = self._pedb.components.components[reference_designator]
1238
+ comp = self._pedb.components.instances[reference_designator]
1239
1239
  pins = [pin.pin for name, pin in comp.pins.items() if name in pin_numbers]
1240
1240
  edb_pingroup = self._edb.cell.hierarchy.pin_group.Create(
1241
1241
  self._active_layout, group_name, convert_py_list_to_net_list(pins)