pyedb 0.50.1__tar.gz → 0.52.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 (291) hide show
  1. {pyedb-0.50.1 → pyedb-0.52.0}/PKG-INFO +4 -4
  2. {pyedb-0.50.1 → pyedb-0.52.0}/pyproject.toml +3 -3
  3. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/__init__.py +1 -1
  4. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_ports_sources.py +79 -239
  5. pyedb-0.52.0/src/pyedb/configuration/configuration.py +461 -0
  6. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/clr_module.py +9 -3
  7. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/layout.py +10 -1
  8. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/dotnet/database.py +0 -2
  9. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/padstacks_data.py +8 -2
  10. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/layout_validation.py +20 -26
  11. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/modeler.py +0 -1
  12. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/stackup.py +4 -3
  13. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/edb.py +42 -2
  14. pyedb-0.52.0/src/pyedb/generic/design_types.py +267 -0
  15. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/components.py +110 -0
  16. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/control_file.py +150 -17
  17. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/materials.py +7 -7
  18. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definitions.py +36 -2
  19. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hfss.py +15 -0
  20. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/component.py +10 -2
  21. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/pin_pair_model.py +1 -1
  22. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout_validation.py +58 -7
  23. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/differential_pair.py +2 -1
  24. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/nets.py +233 -4
  25. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/padstacks.py +97 -0
  26. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/padstack_instance.py +1 -1
  27. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/polygon.py +1 -1
  28. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/siwave.py +63 -3
  29. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/source_excitations.py +317 -50
  30. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/stackup.py +107 -2
  31. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/point_terminal.py +2 -2
  32. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/terminal.py +1 -1
  33. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/edb.py +190 -224
  34. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/edb_init.py +54 -5
  35. pyedb-0.52.0/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  36. pyedb-0.50.1/src/pyedb/configuration/configuration.py +0 -588
  37. pyedb-0.50.1/src/pyedb/generic/design_types.py +0 -146
  38. pyedb-0.50.1/src/pyedb/grpc/database/__init__.py +0 -1
  39. {pyedb-0.50.1 → pyedb-0.52.0}/LICENSE +0 -0
  40. {pyedb-0.50.1 → pyedb-0.52.0}/README.md +0 -0
  41. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/common/__init__.py +0 -0
  42. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/common/nets.py +0 -0
  43. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
  44. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/__init__.py +0 -0
  45. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
  46. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_common.py +0 -0
  47. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_components.py +0 -0
  48. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_data.py +0 -0
  49. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_general.py +0 -0
  50. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_modeler.py +0 -0
  51. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_nets.py +0 -0
  52. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_operations.py +0 -0
  53. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_package_definition.py +0 -0
  54. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_padstacks.py +0 -0
  55. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
  56. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
  57. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_setup.py +0 -0
  58. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
  59. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
  60. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/__init__.py +0 -0
  61. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/Variables.py +0 -0
  62. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/__init__.py +0 -0
  63. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/__init__.py +0 -0
  64. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/connectable.py +0 -0
  65. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/__init__.py +0 -0
  66. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/component.py +0 -0
  67. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/hierarchy_obj.py +0 -0
  68. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/model.py +0 -0
  69. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/netlist_model.py +0 -0
  70. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/pin_pair_model.py +0 -0
  71. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/s_parameter_model.py +0 -0
  72. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/spice_model.py +0 -0
  73. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/layout_obj.py +0 -0
  74. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/__init__.py +0 -0
  75. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/bondwire.py +0 -0
  76. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/path.py +0 -0
  77. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/primitive.py +0 -0
  78. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/__init__.py +0 -0
  79. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/bundle_terminal.py +0 -0
  80. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/edge_terminal.py +0 -0
  81. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/padstack_instance_terminal.py +0 -0
  82. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +0 -0
  83. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/point_terminal.py +0 -0
  84. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/terminal.py +0 -0
  85. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/voltage_regulator.py +0 -0
  86. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/components.py +0 -0
  87. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/__init__.py +0 -0
  88. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/component_def.py +0 -0
  89. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/component_model.py +0 -0
  90. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/definition_obj.py +0 -0
  91. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/definitions.py +0 -0
  92. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/package_def.py +0 -0
  93. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/dotnet/__init__.py +0 -0
  94. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/dotnet/primitive.py +0 -0
  95. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/__init__.py +0 -0
  96. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/control_file.py +0 -0
  97. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/design_options.py +0 -0
  98. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/edbvalue.py +0 -0
  99. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/hfss_extent_info.py +0 -0
  100. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/layer_data.py +0 -0
  101. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/nets_data.py +0 -0
  102. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/ports.py +0 -0
  103. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/primitives_data.py +0 -0
  104. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/raptor_x_simulation_setup_data.py +0 -0
  105. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/simulation_configuration.py +0 -0
  106. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/sources.py +0 -0
  107. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/utilities.py +0 -0
  108. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/variables.py +0 -0
  109. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/general.py +0 -0
  110. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/geometry/__init__.py +0 -0
  111. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/geometry/point_data.py +0 -0
  112. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/geometry/polygon_data.py +0 -0
  113. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/hfss.py +0 -0
  114. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/layout_obj_instance.py +0 -0
  115. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/materials.py +0 -0
  116. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/net_class.py +0 -0
  117. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/nets.py +0 -0
  118. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/padstack.py +0 -0
  119. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/__init__.py +0 -0
  120. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/__init__.py +0 -0
  121. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/adaptive_frequency_data.py +0 -0
  122. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/mesh_operation.py +0 -0
  123. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/settings.py +0 -0
  124. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/sim_setup_info.py +0 -0
  125. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/simulation_settings.py +0 -0
  126. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
  127. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/sweep_data.py +0 -0
  128. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/io/__init__.py +0 -0
  129. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/io/siwave.py +0 -0
  130. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/siwave.py +0 -0
  131. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/__init__.py +0 -0
  132. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/heatsink.py +0 -0
  133. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/hfss_simulation_setup.py +0 -0
  134. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/obj_base.py +0 -0
  135. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/simulation_setup.py +0 -0
  136. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/siwave_simulation_setup.py +0 -0
  137. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/edb_logger.py +0 -0
  138. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/exceptions.py +0 -0
  139. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/extensions/__init__.py +0 -0
  140. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/extensions/via_design_backend.py +0 -0
  141. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/__init__.py +0 -0
  142. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/constants.py +0 -0
  143. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/data_handlers.py +0 -0
  144. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/filesystem.py +0 -0
  145. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/general_methods.py +0 -0
  146. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/plot.py +0 -0
  147. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/process.py +0 -0
  148. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/settings.py +0 -0
  149. {pyedb-0.50.1/src/pyedb/grpc/database/definition → pyedb-0.52.0/src/pyedb/grpc/database}/__init__.py +0 -0
  150. {pyedb-0.50.1/src/pyedb/grpc/database/geometry → pyedb-0.52.0/src/pyedb/grpc/database/definition}/__init__.py +0 -0
  151. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/component_def.py +0 -0
  152. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/component_model.py +0 -0
  153. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/component_pin.py +0 -0
  154. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/n_port_component_model.py +0 -0
  155. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/package_def.py +0 -0
  156. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/padstack_def.py +0 -0
  157. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/general.py +0 -0
  158. {pyedb-0.50.1/src/pyedb/grpc/database/hierarchy → pyedb-0.52.0/src/pyedb/grpc/database/geometry}/__init__.py +0 -0
  159. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/arc_data.py +0 -0
  160. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/point_3d_data.py +0 -0
  161. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/point_data.py +0 -0
  162. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/polygon_data.py +0 -0
  163. {pyedb-0.50.1/src/pyedb/grpc/database/layers → pyedb-0.52.0/src/pyedb/grpc/database/hierarchy}/__init__.py +0 -0
  164. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/model.py +0 -0
  165. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/netlist_model.py +0 -0
  166. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/pingroup.py +0 -0
  167. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/s_parameter_model.py +0 -0
  168. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/spice_model.py +0 -0
  169. {pyedb-0.50.1/src/pyedb/grpc/database/layout → pyedb-0.52.0/src/pyedb/grpc/database/layers}/__init__.py +0 -0
  170. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layers/layer.py +0 -0
  171. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layers/stackup_layer.py +0 -0
  172. {pyedb-0.50.1/src/pyedb/grpc/database/net → pyedb-0.52.0/src/pyedb/grpc/database/layout}/__init__.py +0 -0
  173. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout/cell.py +0 -0
  174. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout/layout.py +0 -0
  175. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout/voltage_regulator.py +0 -0
  176. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/modeler.py +0 -0
  177. {pyedb-0.50.1/src/pyedb/grpc/database/ports → pyedb-0.52.0/src/pyedb/grpc/database/net}/__init__.py +0 -0
  178. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/extended_net.py +0 -0
  179. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/net.py +0 -0
  180. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/net_class.py +0 -0
  181. {pyedb-0.50.1/src/pyedb/grpc/database/simulation_setup → pyedb-0.52.0/src/pyedb/grpc/database/ports}/__init__.py +0 -0
  182. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/ports/ports.py +0 -0
  183. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/__init__.py +0 -0
  184. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/bondwire.py +0 -0
  185. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/circle.py +0 -0
  186. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/path.py +0 -0
  187. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/primitive.py +0 -0
  188. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/rectangle.py +0 -0
  189. {pyedb-0.50.1/src/pyedb/grpc/database/terminal → pyedb-0.52.0/src/pyedb/grpc/database/simulation_setup}/__init__.py +0 -0
  190. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/adaptive_frequency.py +0 -0
  191. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_meshing_settings.py +0 -0
  192. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +0 -0
  193. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py +0 -0
  194. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_general_settings.py +0 -0
  195. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_settings_options.py +0 -0
  196. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +0 -0
  197. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +0 -0
  198. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_solver_settings.py +0 -0
  199. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/mesh_operation.py +0 -0
  200. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py +0 -0
  201. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_general_settings.py +0 -0
  202. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +0 -0
  203. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +0 -0
  204. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/siwave_dcir_simulation_setup.py +0 -0
  205. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +0 -0
  206. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/sweep_data.py +0 -0
  207. {pyedb-0.50.1/src/pyedb/ipc2581 → pyedb-0.52.0/src/pyedb/grpc/database/terminal}/__init__.py +0 -0
  208. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/bundle_terminal.py +0 -0
  209. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/edge_terminal.py +0 -0
  210. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/padstack_instance_terminal.py +0 -0
  211. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/pingroup_terminal.py +0 -0
  212. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/__init__.py +0 -0
  213. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/constants.py +0 -0
  214. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/heat_sink.py +0 -0
  215. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/hfss_extent_info.py +0 -0
  216. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/layout_statistics.py +0 -0
  217. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/rlc.py +0 -0
  218. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/sources.py +0 -0
  219. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/sweep_data_distribution.py +0 -0
  220. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/xml_control_file.py +0 -0
  221. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/rpc_session.py +0 -0
  222. {pyedb-0.50.1/src/pyedb/ipc2581/bom → pyedb-0.52.0/src/pyedb/ipc2581}/__init__.py +0 -0
  223. {pyedb-0.50.1/src/pyedb/ipc2581/content → pyedb-0.52.0/src/pyedb/ipc2581/bom}/__init__.py +0 -0
  224. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
  225. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
  226. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
  227. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
  228. {pyedb-0.50.1/src/pyedb/ipc2581/ecad → pyedb-0.52.0/src/pyedb/ipc2581/content}/__init__.py +0 -0
  229. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/color.py +0 -0
  230. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/content.py +0 -0
  231. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
  232. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
  233. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
  234. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
  235. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
  236. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/fill.py +0 -0
  237. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
  238. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
  239. {pyedb-0.50.1/src/pyedb/ipc2581/ecad/cad_data → pyedb-0.52.0/src/pyedb/ipc2581/ecad}/__init__.py +0 -0
  240. {pyedb-0.50.1/src/pyedb/misc → pyedb-0.52.0/src/pyedb/ipc2581/ecad/cad_data}/__init__.py +0 -0
  241. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
  242. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
  243. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
  244. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
  245. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
  246. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
  247. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
  248. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
  249. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
  250. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
  251. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
  252. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
  253. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
  254. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
  255. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
  256. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
  257. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
  258. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
  259. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
  260. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
  261. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
  262. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
  263. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
  264. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
  265. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
  266. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
  267. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/history_record.py +0 -0
  268. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ipc2581.py +0 -0
  269. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
  270. {pyedb-0.50.1/src/pyedb/misc/siw_feature_config → pyedb-0.52.0/src/pyedb/misc}/__init__.py +0 -0
  271. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
  272. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/downloads.py +0 -0
  273. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/misc.py +0 -0
  274. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
  275. {pyedb-0.50.1/src/pyedb/misc/siw_feature_config/emc → pyedb-0.52.0/src/pyedb/misc/siw_feature_config}/__init__.py +0 -0
  276. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
  277. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
  278. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
  279. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
  280. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
  281. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
  282. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
  283. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
  284. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
  285. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
  286. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
  287. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/utilities.py +0 -0
  288. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/modeler/geometry_operators.py +0 -0
  289. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/siwave.py +0 -0
  290. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/siwave_core/icepak.py +0 -0
  291. {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyedb
3
- Version: 0.50.1
3
+ Version: 0.52.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>
@@ -26,10 +26,10 @@ Requires-Dist: Rtree >= 1.2.0
26
26
  Requires-Dist: toml == 0.10.2
27
27
  Requires-Dist: shapely
28
28
  Requires-Dist: scikit-rf
29
- Requires-Dist: ansys-edb-core
30
- Requires-Dist: ansys-api-edb
29
+ Requires-Dist: ansys-edb-core>=0.2.0.dev0
30
+ Requires-Dist: ansys-api-edb>=0.2.0.dev0
31
31
  Requires-Dist: psutil
32
- Requires-Dist: ansys-sphinx-theme>=0.10.0,<1.4 ; extra == "doc"
32
+ Requires-Dist: ansys-sphinx-theme>=1.0.0,<1.5 ; extra == "doc"
33
33
  Requires-Dist: imageio>=2.30.0,<2.37 ; extra == "doc"
34
34
  Requires-Dist: ipython>=8.13.0,<8.32 ; extra == "doc"
35
35
  Requires-Dist: jupyterlab>=4.0.0,<4.4 ; extra == "doc"
@@ -36,8 +36,8 @@ dependencies = [
36
36
  "toml == 0.10.2",
37
37
  "shapely",
38
38
  "scikit-rf",
39
- "ansys-edb-core",
40
- "ansys-api-edb",
39
+ "ansys-edb-core>=0.2.0.dev0",
40
+ "ansys-api-edb>=0.2.0.dev0",
41
41
  "psutil",
42
42
  ]
43
43
 
@@ -52,7 +52,7 @@ tests = [
52
52
  "shapely"
53
53
  ]
54
54
  doc = [
55
- "ansys-sphinx-theme>=0.10.0,<1.4",
55
+ "ansys-sphinx-theme>=1.0.0,<1.5",
56
56
  "imageio>=2.30.0,<2.37",
57
57
  "ipython>=8.13.0,<8.32",
58
58
  "jupyterlab>=4.0.0,<4.4",
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.50.1"
47
+ __version__ = "0.52.0"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -19,7 +19,6 @@
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 os
23
22
 
24
23
  import numpy as np
25
24
 
@@ -33,29 +32,11 @@ from pyedb.dotnet.database.geometry.point_data import PointData
33
32
  class CfgTerminalInfo(CfgBase):
34
33
  CFG_TERMINAL_TYPES = ["pin", "net", "pin_group", "nearest_pin", "coordinates"]
35
34
 
36
- class Grpc:
37
- def __init__(self, parent):
38
- self.parent = parent
39
- self._pedb = parent._pedb
40
-
41
- def update_contact_radius(self, radius):
42
- from ansys.edb.core.utility.value import Value as GrpcValue
43
-
44
- self.parent.contact_radius = GrpcValue(radius).value
45
-
46
- class DotNet(Grpc):
47
- def __init__(self, parent):
48
- super().__init__(parent)
49
-
50
- def update_contact_radius(self, radius):
51
- self.parent.contact_radius = self._pedb.edb_value(radius).ToDouble()
35
+ def update_contact_radius(self, radius):
36
+ self.contact_radius = self._pedb.edb_value(radius).ToDouble()
52
37
 
53
38
  def __init__(self, pedb, **kwargs):
54
39
  self._pedb = pedb
55
- if self._pedb.grpc:
56
- self.api = self.Grpc(self)
57
- else:
58
- self.api = self.DotNet(self)
59
40
 
60
41
  if kwargs.get("padstack"):
61
42
  self.type = "padstack"
@@ -76,7 +57,8 @@ class CfgTerminalInfo(CfgBase):
76
57
 
77
58
  self.contact_type = kwargs.get("contact_type", "default") # options are full, center, quad, inline
78
59
  contact_radius = "0.1mm" if kwargs.get("contact_radius") is None else kwargs.get("contact_radius")
79
- self.api.update_contact_radius(contact_radius)
60
+
61
+ self.contact_radius = self._pedb.edb_value(contact_radius).ToDouble()
80
62
  self.num_of_contact = kwargs.get("num_of_contact", 4)
81
63
  self.contact_expansion = kwargs.get("contact_expansion", 1)
82
64
 
@@ -108,27 +90,11 @@ class CfgNearestPinTerminalInfo(CfgTerminalInfo):
108
90
 
109
91
 
110
92
  class CfgSources:
111
- class Grpc:
112
- def __init__(self, parent):
113
- self.parent = parent
114
- self._pedb = parent._pedb
115
-
116
- def get_pin_group_name(self, src):
117
- return src.pin_group.name
118
-
119
- class DotNet(Grpc):
120
- def __init__(self, parent):
121
- super().__init__(parent)
122
-
123
- def get_pin_group_name(self, src):
124
- return src._edb_object.GetPinGroup().GetName()
93
+ def get_pin_group_name(self, src):
94
+ return src._edb_object.GetPinGroup().GetName()
125
95
 
126
96
  def __init__(self, pedb, sources_data):
127
97
  self._pedb = pedb
128
- if self._pedb.grpc:
129
- self.api = self.Grpc(self)
130
- else:
131
- self.api = self.DotNet(self)
132
98
  self.sources = [CfgSource(self._pedb, **src) for src in sources_data]
133
99
 
134
100
  def apply(self):
@@ -147,7 +113,7 @@ class CfgSources:
147
113
 
148
114
  if src.terminal_type == "PinGroupTerminal":
149
115
  refdes = ""
150
- pg = self._pedb.siwave.pin_groups[self.api.get_pin_group_name(src)]
116
+ pg = self._pedb.siwave.pin_groups[self.get_pin_group_name(src)]
151
117
  pos_term_info = {"pin_group": pg.name}
152
118
  elif src.terminal_type == "PadstackInstanceTerminal":
153
119
  refdes = src.component.refdes if src.component else ""
@@ -155,7 +121,7 @@ class CfgSources:
155
121
 
156
122
  neg_term = self._pedb.terminals[src.ref_terminal.name]
157
123
  if neg_term.terminal_type == "PinGroupTerminal":
158
- pg = self._pedb.siwave.pin_groups[self.api.get_pin_group_name(neg_term)]
124
+ pg = self._pedb.siwave.pin_groups[self.get_pin_group_name(neg_term)]
159
125
  neg_term_info = {"pin_group": pg.name}
160
126
  elif neg_term.terminal_type == "PadstackInstanceTerminal":
161
127
  neg_term_info = {"padstack": neg_term.padstack_instance.aedt_name}
@@ -180,68 +146,29 @@ class CfgSources:
180
146
 
181
147
 
182
148
  class CfgPorts:
183
- class Grpc:
184
- def __init__(self, parent):
185
- self.parent = parent
186
- self._pedb = parent._pedb
187
-
188
- def get_pin_group(self, port):
189
- return self._pedb.siwave.pin_groups[port._edb_object.pin_group.name]
190
-
191
- def get_edge_info(self, port):
192
- return port._edb_object.GetEdges()[0].GetParameters()
193
-
194
- def _get_edge_port_from_edb(self, p, port_type):
195
- # primitive, point = p._edb_object.GetEdges()[0].GetParameters()
196
- edges = p.edges
197
- primitive = None
198
- point = None
199
- primitive = Primitive(self._pedb, primitive)
200
- point = PointData(self._pedb, point)
201
-
202
- cfg_port = CfgEdgePort(
203
- self._pedb,
204
- name=p.name,
205
- type=port_type,
206
- primitive_name=primitive.aedt_name,
207
- point_on_edge=[point._edb_object.X.ToString(), point._edb_object.Y.ToString()],
208
- horizontal_extent_factor=p.horizontal_extent_factor,
209
- vertical_extent_factor=p.vertical_extent_factor,
210
- pec_launch_width=p.pec_launch_width,
211
- )
212
- return cfg_port
149
+ def get_pin_group(self, port):
150
+ return self._pedb.siwave.pin_groups[port._edb_object.GetPinGroup().GetName()]
213
151
 
214
- class DotNet(Grpc):
215
- def __init__(self, parent):
216
- super().__init__(parent)
152
+ def _get_edge_port_from_edb(self, p, port_type):
153
+ _, primitive, point = p._edb_object.GetEdges()[0].GetParameters()
217
154
 
218
- def get_pin_group(self, port):
219
- return self._pedb.siwave.pin_groups[port._edb_object.GetPinGroup().GetName()]
155
+ primitive = Primitive(self._pedb, primitive)
156
+ point = PointData(self._pedb, point)
220
157
 
221
- def _get_edge_port_from_edb(self, p, port_type):
222
- _, primitive, point = p._edb_object.GetEdges()[0].GetParameters()
223
-
224
- primitive = Primitive(self._pedb, primitive)
225
- point = PointData(self._pedb, point)
226
-
227
- cfg_port = CfgEdgePort(
228
- self._pedb,
229
- name=p.name,
230
- type=port_type,
231
- primitive_name=primitive.aedt_name,
232
- point_on_edge=[point._edb_object.X.ToString(), point._edb_object.Y.ToString()],
233
- horizontal_extent_factor=p.horizontal_extent_factor,
234
- vertical_extent_factor=p.vertical_extent_factor,
235
- pec_launch_width=p.pec_launch_width,
236
- )
237
- return cfg_port
158
+ cfg_port = CfgEdgePort(
159
+ self._pedb,
160
+ name=p.name,
161
+ type=port_type,
162
+ primitive_name=primitive.aedt_name,
163
+ point_on_edge=[point._edb_object.X.ToString(), point._edb_object.Y.ToString()],
164
+ horizontal_extent_factor=p.horizontal_extent_factor,
165
+ vertical_extent_factor=p.vertical_extent_factor,
166
+ pec_launch_width=p.pec_launch_width,
167
+ )
168
+ return cfg_port
238
169
 
239
170
  def __init__(self, pedb, ports_data):
240
171
  self._pedb = pedb
241
- if self._pedb.grpc:
242
- self.api = self.Grpc(self)
243
- else:
244
- self.api = self.DotNet(self)
245
172
  self.ports = []
246
173
  for p in ports_data:
247
174
  if p["type"] == "wave_port":
@@ -256,18 +183,8 @@ class CfgPorts:
256
183
  raise ValueError("Unknown port type")
257
184
 
258
185
  def apply(self):
259
- edb_primitives = {}
260
- for i in self._pedb.layout.primitives:
261
- if i.aedt_name:
262
- edb_primitives[i.aedt_name] = i
263
- for i in self._pedb.layout.padstack_instances:
264
- if i.aedt_name:
265
- edb_primitives[i.aedt_name] = i
266
186
  for p in self.ports:
267
- if p.type in ["wave_port", "diff_wave_port", "gap_port"]:
268
- p.set_parameters_to_edb(edb_primitives)
269
- else:
270
- p.set_parameters_to_edb()
187
+ p.set_parameters_to_edb()
271
188
 
272
189
  def get_data_from_db(self):
273
190
  self.ports = []
@@ -289,7 +206,7 @@ class CfgPorts:
289
206
 
290
207
  if p.terminal_type == "PinGroupTerminal":
291
208
  refdes = ""
292
- pg = self.api.get_pin_group(p)
209
+ pg = self.get_pin_group(p)
293
210
  pos_term_info = {"pin_group": pg.name}
294
211
  elif p.terminal_type == "PadstackInstanceTerminal":
295
212
  refdes = p.component.refdes if p.component else ""
@@ -301,7 +218,7 @@ class CfgPorts:
301
218
  if port_type == "circuit":
302
219
  neg_term = self._pedb.terminals[p.ref_terminal.name]
303
220
  if neg_term.terminal_type == "PinGroupTerminal":
304
- pg = self.api.get_pin_group(neg_term)
221
+ pg = self.get_pin_group(neg_term)
305
222
  # pg = self._pedb.siwave.pin_groups[neg_term._edb_object.GetPinGroup().GetName()]
306
223
  neg_term_info = {"pin_group": pg.name}
307
224
  elif neg_term.terminal_type == "PadstackInstanceTerminal":
@@ -332,7 +249,7 @@ class CfgPorts:
332
249
  positive_terminal=pos_term_info,
333
250
  )
334
251
  else:
335
- cfg_port = self.api._get_edge_port_from_edb(p, port_type)
252
+ cfg_port = self._get_edge_port_from_edb(p, port_type)
336
253
  self.ports.append(cfg_port)
337
254
  return self.export_properties()
338
255
 
@@ -350,7 +267,7 @@ class CfgProbes:
350
267
 
351
268
  def apply(self):
352
269
  for probe in self.probes:
353
- probe.api.set_parameters_to_edb()
270
+ probe.set_parameters_to_edb()
354
271
 
355
272
 
356
273
  class CfgCircuitElement(CfgBase):
@@ -740,134 +657,63 @@ class CfgSource(CfgCircuitElement):
740
657
 
741
658
 
742
659
  class CfgProbe(CfgCircuitElement):
743
- class Common:
744
- def __init__(self, parent):
745
- self.parent = parent
746
- self.pedb = parent._pedb
747
-
748
- def set_parameters_to_edb(self):
749
- self.parent.create_terminals()
750
- circuit_elements = []
751
- for name, j in self.parent.pos_terminals.items():
752
- if isinstance(self.parent.neg_terminal, dict):
753
- elem = self.pedb.create_voltage_probe(j, self.parent.neg_terminal[name])
754
- else:
755
- elem = self.pedb.create_voltage_probe(j, self.parent.neg_terminal)
756
- elem.name = self.parent.name
757
- circuit_elements.append(elem)
758
- return circuit_elements
759
-
760
- class Grpc(Common):
761
- def __init__(self, parent):
762
- super().__init__(parent)
763
-
764
- class DotNet(Grpc):
765
- def __init__(self, parent):
766
- super().__init__(parent)
660
+ def set_parameters_to_edb(self):
661
+ self.create_terminals()
662
+ circuit_elements = []
663
+ for name, j in self.pos_terminals.items():
664
+ if isinstance(self.neg_terminal, dict):
665
+ elem = self._pedb.create_voltage_probe(j, self.neg_terminal[name])
666
+ else:
667
+ elem = self._pedb.create_voltage_probe(j, self.neg_terminal)
668
+ elem.name = self.name
669
+ circuit_elements.append(elem)
670
+ return circuit_elements
767
671
 
768
672
  def __init__(self, pedb, **kwargs):
769
673
  kwargs["type"] = "probe"
770
674
  super().__init__(pedb, **kwargs)
771
- if os.environ["PYEDB_USE_DOTNET"] == "0":
772
- self.api = self.Grpc(self)
773
- else:
774
- self.api = self.DotNet(self)
775
675
 
776
676
 
777
677
  class CfgEdgePort:
778
- class Grpc:
779
- def __init__(self, parent):
780
- self.parent = parent
781
- self._pedb = parent._pedb
782
-
783
- def set_parameters_to_edb(self, edb_primitives):
784
- from ansys.edb.core.geometry.point_data import PointData as GrpcPointData
785
- from ansys.edb.core.terminal.edge_terminal import (
786
- EdgeTerminal as GrpcEdgeTerminal,
787
- )
788
- from ansys.edb.core.terminal.edge_terminal import (
789
- PrimitiveEdge as GrpcPrimitiveEdge,
790
- )
791
- from ansys.edb.core.utility.value import Value as GrpcValue
792
-
793
- from pyedb.grpc.database.ports.ports import WavePort
794
-
795
- point_on_edge = GrpcPointData(self.parent.point_on_edge)
796
- primitive = edb_primitives[self.parent.primitive_name]
797
- pos_edge = GrpcPrimitiveEdge.create(primitive, point_on_edge)
798
- edge_term = GrpcEdgeTerminal.create(
799
- layout=primitive.layout, name=self.parent.name, net=primitive.net, edges=[pos_edge], is_ref=False
800
- )
801
- edge_term.impedance = GrpcValue(50)
802
- wave_port = WavePort(self._pedb, edge_term)
803
- wave_port.horizontal_extent_factor = self.parent.horizontal_extent_factor
804
- wave_port.vertical_extent_factor = self.parent.vertical_extent_factor
805
- wave_port.pec_launch_width = self.parent.pec_launch_width
806
- if self.parent.type == "wave_port":
807
- wave_port.hfss_type = "Wave"
808
- else:
809
- wave_port.hfss_type = "Gap"
810
- wave_port.do_renormalize = True
811
- return wave_port
812
-
813
- def export_properties(self):
814
- return {
815
- "name": self.name,
816
- "type": self.type,
817
- "primitive_name": self.primitive_name,
818
- "point_on_edge": self.point_on_edge,
819
- "horizontal_extent_factor": self.horizontal_extent_factor,
820
- "vertical_extent_factor": self.vertical_extent_factor,
821
- "pec_launch_width": self.pec_launch_width,
822
- }
823
-
824
- class DotNet(Grpc):
825
- def __init__(self, parent):
826
- super().__init__(parent)
678
+ def set_parameters_to_edb(self):
679
+ point_on_edge = PointData(self._pedb, x=self.point_on_edge[0], y=self.point_on_edge[1])
680
+ primitive = self._pedb.layout.primitives_by_aedt_name[self.primitive_name]
681
+ pos_edge = self._pedb.edb_api.cell.terminal.PrimitiveEdge.Create(
682
+ primitive._edb_object, point_on_edge._edb_object
683
+ )
684
+ pos_edge = convert_py_list_to_net_list(pos_edge, self._pedb.edb_api.cell.terminal.Edge)
685
+ edge_term = self._pedb.edb_api.cell.terminal.EdgeTerminal.Create(
686
+ primitive._edb_object.GetLayout(),
687
+ primitive._edb_object.GetNet(),
688
+ self.name,
689
+ pos_edge,
690
+ isRef=False,
691
+ )
692
+ edge_term.SetImpedance(self._pedb.edb_value(50))
693
+ wave_port = WavePort(self._pedb, edge_term)
694
+ wave_port.horizontal_extent_factor = self.horizontal_extent_factor
695
+ wave_port.vertical_extent_factor = self.vertical_extent_factor
696
+ wave_port.pec_launch_width = self.pec_launch_width
697
+ if self.type == "wave_port":
698
+ wave_port.hfss_type = "Wave"
699
+ else:
700
+ wave_port.hfss_type = "Gap"
701
+ wave_port.do_renormalize = True
702
+ return wave_port
827
703
 
828
- def set_parameters_to_edb(self, edb_primitives):
829
- point_on_edge = PointData(self._pedb, x=self.parent.point_on_edge[0], y=self.parent.point_on_edge[1])
830
- primitive = edb_primitives[self.parent.primitive_name]
831
- pos_edge = self._pedb.edb_api.cell.terminal.PrimitiveEdge.Create(
832
- primitive._edb_object, point_on_edge._edb_object
833
- )
834
- pos_edge = convert_py_list_to_net_list(pos_edge, self._pedb.edb_api.cell.terminal.Edge)
835
- edge_term = self._pedb.edb_api.cell.terminal.EdgeTerminal.Create(
836
- primitive._edb_object.GetLayout(),
837
- primitive._edb_object.GetNet(),
838
- self.parent.name,
839
- pos_edge,
840
- isRef=False,
841
- )
842
- edge_term.SetImpedance(self._pedb.edb_value(50))
843
- wave_port = WavePort(self._pedb, edge_term)
844
- wave_port.horizontal_extent_factor = self.parent.horizontal_extent_factor
845
- wave_port.vertical_extent_factor = self.parent.vertical_extent_factor
846
- wave_port.pec_launch_width = self.parent.pec_launch_width
847
- if self.parent.type == "wave_port":
848
- wave_port.hfss_type = "Wave"
849
- else:
850
- wave_port.hfss_type = "Gap"
851
- wave_port.do_renormalize = True
852
- return wave_port
853
-
854
- def export_properties(self):
855
- return {
856
- "name": self.parent.name,
857
- "type": self.parent.type,
858
- "primitive_name": self.parent.primitive_name,
859
- "point_on_edge": self.parent.point_on_edge,
860
- "horizontal_extent_factor": self.parent.horizontal_extent_factor,
861
- "vertical_extent_factor": self.parent.vertical_extent_factor,
862
- "pec_launch_width": self.parent.pec_launch_width,
863
- }
704
+ def export_properties(self):
705
+ return {
706
+ "name": self.name,
707
+ "type": self.type,
708
+ "primitive_name": self.primitive_name,
709
+ "point_on_edge": self.point_on_edge,
710
+ "horizontal_extent_factor": self.horizontal_extent_factor,
711
+ "vertical_extent_factor": self.vertical_extent_factor,
712
+ "pec_launch_width": self.pec_launch_width,
713
+ }
864
714
 
865
715
  def __init__(self, pedb, **kwargs):
866
716
  self._pedb = pedb
867
- if self._pedb.grpc:
868
- self.api = self.Grpc(self)
869
- else:
870
- self.api = self.DotNet(self)
871
717
  self.name = kwargs["name"]
872
718
  self.type = kwargs["type"]
873
719
  self.primitive_name = kwargs["primitive_name"]
@@ -876,12 +722,6 @@ class CfgEdgePort:
876
722
  self.vertical_extent_factor = kwargs.get("vertical_extent_factor", 3)
877
723
  self.pec_launch_width = kwargs.get("pec_launch_width", "0.01mm")
878
724
 
879
- def set_parameters_to_edb(self, edb_primitives):
880
- return self.api.set_parameters_to_edb(edb_primitives)
881
-
882
- def export_properties(self):
883
- return self.api.export_properties()
884
-
885
725
 
886
726
  class CfgDiffWavePort:
887
727
  def __init__(self, pedb, **kwargs):
@@ -911,9 +751,9 @@ class CfgDiffWavePort:
911
751
  **kwargs["negative_terminal"],
912
752
  )
913
753
 
914
- def set_parameters_to_edb(self, edb_primitives):
915
- pos_term = self.positive_port.set_parameters_to_edb(edb_primitives)
916
- neg_term = self.negative_port.set_parameters_to_edb(edb_primitives)
754
+ def set_parameters_to_edb(self):
755
+ pos_term = self.positive_port.set_parameters_to_edb()
756
+ neg_term = self.negative_port.set_parameters_to_edb()
917
757
  edb_list = convert_py_list_to_net_list(
918
758
  [pos_term._edb_object, neg_term._edb_object], self._pedb.edb_api.cell.terminal.Terminal
919
759
  )