pyedb 0.37.0__tar.gz → 0.39.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 (292) hide show
  1. {pyedb-0.37.0 → pyedb-0.39.0}/PKG-INFO +9 -6
  2. {pyedb-0.37.0 → pyedb-0.39.0}/pyproject.toml +11 -7
  3. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/__init__.py +1 -1
  4. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/common/nets.py +53 -139
  5. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_common.py +1 -1
  6. pyedb-0.39.0/src/pyedb/configuration/cfg_components.py +290 -0
  7. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_data.py +3 -1
  8. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_general.py +4 -2
  9. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_modeler.py +7 -7
  10. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_package_definition.py +1 -1
  11. pyedb-0.39.0/src/pyedb/configuration/cfg_padstacks.py +439 -0
  12. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_ports_sources.py +243 -65
  13. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/configuration.py +23 -3
  14. {pyedb-0.37.0/src/pyedb/dotnet/application → pyedb-0.39.0/src/pyedb/dotnet/database}/Variables.py +21 -21
  15. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/connectable.py +5 -5
  16. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/component.py +11 -11
  17. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/hierarchy_obj.py +1 -1
  18. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/model.py +1 -1
  19. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/layout.py +19 -19
  20. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/layout_obj.py +3 -3
  21. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/primitive/bondwire.py +1 -1
  22. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/primitive/path.py +4 -4
  23. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/primitive/primitive.py +14 -14
  24. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/terminal/bundle_terminal.py +2 -2
  25. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/terminal/edge_terminal.py +4 -4
  26. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/terminal/padstack_instance_terminal.py +2 -2
  27. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/terminal/pingroup_terminal.py +2 -2
  28. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/terminal/point_terminal.py +2 -2
  29. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/terminal/terminal.py +11 -11
  30. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/voltage_regulator.py +2 -2
  31. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/components.py +101 -124
  32. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/definition/component_def.py +5 -5
  33. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/definition/component_model.py +1 -1
  34. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/definition/definition_obj.py +1 -1
  35. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/definition/definitions.py +2 -2
  36. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/definition/package_def.py +4 -4
  37. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/dotnet/database.py +8 -8
  38. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/dotnet/primitive.py +9 -9
  39. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/control_file.py +12 -12
  40. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/hfss_extent_info.py +7 -7
  41. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/nets_data.py +10 -13
  42. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/padstacks_data.py +60 -73
  43. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/ports.py +4 -4
  44. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/primitives_data.py +5 -5
  45. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/raptor_x_simulation_setup_data.py +4 -4
  46. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/simulation_configuration.py +10 -10
  47. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/sources.py +4 -4
  48. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/variables.py +1 -1
  49. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/geometry/polygon_data.py +4 -4
  50. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/hfss.py +8 -8
  51. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/layout_obj_instance.py +1 -1
  52. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/layout_validation.py +2 -2
  53. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/materials.py +23 -8
  54. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/modeler.py +27 -27
  55. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/net_class.py +8 -8
  56. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/nets.py +12 -12
  57. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/padstack.py +17 -16
  58. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/mesh_operation.py +1 -1
  59. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/settings.py +18 -3
  60. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/sim_setup_info.py +2 -2
  61. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/simulation_settings.py +1 -1
  62. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/siw_dc_ir_settings.py +1 -1
  63. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/sweep_data.py +4 -4
  64. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/siwave.py +10 -10
  65. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/stackup.py +12 -12
  66. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/utilities/hfss_simulation_setup.py +15 -15
  67. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/utilities/obj_base.py +1 -1
  68. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/utilities/simulation_setup.py +4 -3
  69. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/utilities/siwave_simulation_setup.py +6 -6
  70. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/dotnet/edb.py +118 -113
  71. pyedb-0.39.0/src/pyedb/extensions/pre_layout_design_toolkit/via_design.py +1151 -0
  72. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/design_types.py +26 -19
  73. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/general_methods.py +1 -1
  74. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/plot.py +0 -2
  75. pyedb-0.39.0/src/pyedb/grpc/database/__init__.py +1 -0
  76. pyedb-0.39.0/src/pyedb/grpc/database/components.py +2354 -0
  77. pyedb-0.39.0/src/pyedb/grpc/database/control_file.py +1277 -0
  78. pyedb-0.39.0/src/pyedb/grpc/database/definition/component_def.py +218 -0
  79. pyedb-0.39.0/src/pyedb/grpc/database/definition/component_model.py +39 -0
  80. pyedb-0.39.0/src/pyedb/grpc/database/definition/component_pin.py +32 -0
  81. pyedb-0.39.0/src/pyedb/grpc/database/definition/materials.py +1207 -0
  82. pyedb-0.39.0/src/pyedb/grpc/database/definition/n_port_component_model.py +34 -0
  83. pyedb-0.39.0/src/pyedb/grpc/database/definition/package_def.py +227 -0
  84. pyedb-0.39.0/src/pyedb/grpc/database/definition/padstack_def.py +842 -0
  85. pyedb-0.39.0/src/pyedb/grpc/database/definitions.py +70 -0
  86. pyedb-0.39.0/src/pyedb/grpc/database/general.py +43 -0
  87. pyedb-0.39.0/src/pyedb/grpc/database/geometry/arc_data.py +93 -0
  88. pyedb-0.39.0/src/pyedb/grpc/database/geometry/point_3d_data.py +79 -0
  89. pyedb-0.39.0/src/pyedb/grpc/database/geometry/point_data.py +30 -0
  90. pyedb-0.39.0/src/pyedb/grpc/database/geometry/polygon_data.py +133 -0
  91. pyedb-0.39.0/src/pyedb/grpc/database/hfss.py +1279 -0
  92. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/component.py +1301 -0
  93. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/model.py +31 -0
  94. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/netlist_model.py +30 -0
  95. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/pin_pair_model.py +128 -0
  96. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/pingroup.py +245 -0
  97. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/s_parameter_model.py +33 -0
  98. pyedb-0.39.0/src/pyedb/grpc/database/hierarchy/spice_model.py +48 -0
  99. pyedb-0.39.0/src/pyedb/grpc/database/layers/layer.py +57 -0
  100. pyedb-0.39.0/src/pyedb/grpc/database/layers/stackup_layer.py +410 -0
  101. pyedb-0.39.0/src/pyedb/grpc/database/layout/cell.py +30 -0
  102. pyedb-0.39.0/src/pyedb/grpc/database/layout/layout.py +196 -0
  103. pyedb-0.39.0/src/pyedb/grpc/database/layout/voltage_regulator.py +149 -0
  104. pyedb-0.39.0/src/pyedb/grpc/database/layout_validation.py +319 -0
  105. pyedb-0.39.0/src/pyedb/grpc/database/modeler.py +1468 -0
  106. pyedb-0.39.0/src/pyedb/grpc/database/net/differential_pair.py +138 -0
  107. pyedb-0.39.0/src/pyedb/grpc/database/net/extended_net.py +340 -0
  108. pyedb-0.39.0/src/pyedb/grpc/database/net/net.py +198 -0
  109. pyedb-0.39.0/src/pyedb/grpc/database/net/net_class.py +93 -0
  110. pyedb-0.39.0/src/pyedb/grpc/database/nets.py +633 -0
  111. pyedb-0.39.0/src/pyedb/grpc/database/padstacks.py +1500 -0
  112. pyedb-0.39.0/src/pyedb/grpc/database/ports/ports.py +396 -0
  113. pyedb-0.39.0/src/pyedb/grpc/database/primitive/__init__.py +3 -0
  114. pyedb-0.39.0/src/pyedb/grpc/database/primitive/bondwire.py +181 -0
  115. pyedb-0.39.0/src/pyedb/grpc/database/primitive/circle.py +75 -0
  116. pyedb-0.39.0/src/pyedb/grpc/database/primitive/padstack_instance.py +1116 -0
  117. pyedb-0.39.0/src/pyedb/grpc/database/primitive/path.py +346 -0
  118. pyedb-0.39.0/src/pyedb/grpc/database/primitive/polygon.py +276 -0
  119. pyedb-0.39.0/src/pyedb/grpc/database/primitive/primitive.py +739 -0
  120. pyedb-0.39.0/src/pyedb/grpc/database/primitive/rectangle.py +146 -0
  121. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/adaptive_frequency.py +33 -0
  122. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_advanced_meshing_settings.py +32 -0
  123. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +59 -0
  124. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py +35 -0
  125. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_general_settings.py +61 -0
  126. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_settings_options.py +78 -0
  127. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +118 -0
  128. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +355 -0
  129. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/hfss_solver_settings.py +34 -0
  130. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/mesh_operation.py +34 -0
  131. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py +34 -0
  132. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/raptor_x_general_settings.py +33 -0
  133. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +64 -0
  134. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +125 -0
  135. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/siwave_dcir_simulation_setup.py +34 -0
  136. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +119 -0
  137. pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup/sweep_data.py +32 -0
  138. pyedb-0.39.0/src/pyedb/grpc/database/siwave.py +1023 -0
  139. pyedb-0.39.0/src/pyedb/grpc/database/source_excitations.py +2572 -0
  140. pyedb-0.39.0/src/pyedb/grpc/database/stackup.py +2574 -0
  141. pyedb-0.39.0/src/pyedb/grpc/database/terminal/bundle_terminal.py +218 -0
  142. pyedb-0.39.0/src/pyedb/grpc/database/terminal/edge_terminal.py +51 -0
  143. pyedb-0.39.0/src/pyedb/grpc/database/terminal/padstack_instance_terminal.py +171 -0
  144. pyedb-0.39.0/src/pyedb/grpc/database/terminal/pingroup_terminal.py +162 -0
  145. pyedb-0.39.0/src/pyedb/grpc/database/terminal/point_terminal.py +99 -0
  146. pyedb-0.39.0/src/pyedb/grpc/database/terminal/terminal.py +470 -0
  147. pyedb-0.39.0/src/pyedb/grpc/database/utility/__init__.py +3 -0
  148. pyedb-0.39.0/src/pyedb/grpc/database/utility/constants.py +25 -0
  149. pyedb-0.39.0/src/pyedb/grpc/database/utility/heat_sink.py +124 -0
  150. pyedb-0.39.0/src/pyedb/grpc/database/utility/hfss_extent_info.py +448 -0
  151. pyedb-0.39.0/src/pyedb/grpc/database/utility/layout_statistics.py +277 -0
  152. pyedb-0.39.0/src/pyedb/grpc/database/utility/rlc.py +80 -0
  153. pyedb-0.39.0/src/pyedb/grpc/database/utility/simulation_configuration.py +3305 -0
  154. pyedb-0.39.0/src/pyedb/grpc/database/utility/sources.py +388 -0
  155. pyedb-0.39.0/src/pyedb/grpc/database/utility/sweep_data_distribution.py +83 -0
  156. pyedb-0.39.0/src/pyedb/grpc/database/utility/xml_control_file.py +1277 -0
  157. pyedb-0.39.0/src/pyedb/grpc/edb.py +4151 -0
  158. pyedb-0.39.0/src/pyedb/grpc/edb_init.py +481 -0
  159. pyedb-0.39.0/src/pyedb/grpc/rpc_session.py +177 -0
  160. pyedb-0.39.0/src/pyedb/ipc2581/__init__.py +0 -0
  161. pyedb-0.39.0/src/pyedb/ipc2581/bom/__init__.py +0 -0
  162. pyedb-0.39.0/src/pyedb/ipc2581/content/__init__.py +0 -0
  163. pyedb-0.39.0/src/pyedb/ipc2581/ecad/__init__.py +0 -0
  164. pyedb-0.39.0/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
  165. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +3 -2
  166. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +4 -3
  167. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +32 -20
  168. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +3 -2
  169. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +4 -3
  170. pyedb-0.39.0/src/pyedb/ipc2581/ecad/cad_data/path.py +160 -0
  171. pyedb-0.39.0/src/pyedb/ipc2581/ecad/cad_data/polygon.py +248 -0
  172. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +13 -12
  173. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +52 -20
  174. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ipc2581.py +47 -49
  175. pyedb-0.39.0/src/pyedb/misc/__init__.py +0 -0
  176. pyedb-0.39.0/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
  177. pyedb-0.39.0/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
  178. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/modeler/geometry_operators.py +1 -1
  179. pyedb-0.37.0/src/pyedb/configuration/cfg_components.py +0 -262
  180. pyedb-0.37.0/src/pyedb/configuration/cfg_padstacks.py +0 -383
  181. pyedb-0.37.0/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -109
  182. pyedb-0.37.0/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -186
  183. {pyedb-0.37.0 → pyedb-0.39.0}/LICENSE +0 -0
  184. {pyedb-0.37.0 → pyedb-0.39.0}/README.md +0 -0
  185. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/common/__init__.py +0 -0
  186. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
  187. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/__init__.py +0 -0
  188. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
  189. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_nets.py +0 -0
  190. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_operations.py +0 -0
  191. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
  192. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
  193. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_setup.py +0 -0
  194. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
  195. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
  196. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/dotnet/__init__.py +0 -0
  197. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/dotnet/clr_module.py +0 -0
  198. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/__init__.py +0 -0
  199. {pyedb-0.37.0/src/pyedb/dotnet/application → pyedb-0.39.0/src/pyedb/dotnet/database/cell}/__init__.py +0 -0
  200. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/cell → pyedb-0.39.0/src/pyedb/dotnet/database/cell/hierarchy}/__init__.py +0 -0
  201. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/netlist_model.py +0 -0
  202. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/pin_pair_model.py +0 -0
  203. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/s_parameter_model.py +0 -0
  204. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/hierarchy/spice_model.py +0 -0
  205. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/cell/primitive/__init__.py +0 -0
  206. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/cell/hierarchy → pyedb-0.39.0/src/pyedb/dotnet/database/cell/terminal}/__init__.py +0 -0
  207. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/cell/terminal → pyedb-0.39.0/src/pyedb/dotnet/database/definition}/__init__.py +0 -0
  208. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/definition → pyedb-0.39.0/src/pyedb/dotnet/database/dotnet}/__init__.py +0 -0
  209. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/dotnet → pyedb-0.39.0/src/pyedb/dotnet/database/edb_data}/__init__.py +0 -0
  210. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/design_options.py +0 -0
  211. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/edbvalue.py +0 -0
  212. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/layer_data.py +0 -0
  213. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/edb_data/utilities.py +0 -0
  214. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/general.py +0 -0
  215. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/edb_data → pyedb-0.39.0/src/pyedb/dotnet/database/geometry}/__init__.py +0 -0
  216. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/geometry/point_data.py +0 -0
  217. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/__init__.py +0 -0
  218. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/__init__.py +0 -0
  219. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/data/adaptive_frequency_data.py +0 -0
  220. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/geometry → pyedb-0.39.0/src/pyedb/dotnet/database/sim_setup_data/io}/__init__.py +0 -0
  221. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/sim_setup_data/io/siwave.py +0 -0
  222. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/utilities/__init__.py +0 -0
  223. {pyedb-0.37.0/src/pyedb/dotnet/edb_core → pyedb-0.39.0/src/pyedb/dotnet/database}/utilities/heatsink.py +0 -0
  224. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/edb_logger.py +0 -0
  225. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/exceptions.py +0 -0
  226. {pyedb-0.37.0/src/pyedb/dotnet/edb_core/sim_setup_data/io → pyedb-0.39.0/src/pyedb/generic}/__init__.py +0 -0
  227. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/constants.py +0 -0
  228. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/data_handlers.py +0 -0
  229. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/filesystem.py +0 -0
  230. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/process.py +0 -0
  231. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/generic/settings.py +0 -0
  232. {pyedb-0.37.0/src/pyedb/generic → pyedb-0.39.0/src/pyedb/grpc/database/definition}/__init__.py +0 -0
  233. {pyedb-0.37.0/src/pyedb/ipc2581 → pyedb-0.39.0/src/pyedb/grpc/database/geometry}/__init__.py +0 -0
  234. {pyedb-0.37.0/src/pyedb/ipc2581/bom → pyedb-0.39.0/src/pyedb/grpc/database/hierarchy}/__init__.py +0 -0
  235. {pyedb-0.37.0/src/pyedb/ipc2581/content → pyedb-0.39.0/src/pyedb/grpc/database/layers}/__init__.py +0 -0
  236. {pyedb-0.37.0/src/pyedb/ipc2581/ecad → pyedb-0.39.0/src/pyedb/grpc/database/layout}/__init__.py +0 -0
  237. {pyedb-0.37.0/src/pyedb/ipc2581/ecad/cad_data → pyedb-0.39.0/src/pyedb/grpc/database/net}/__init__.py +0 -0
  238. {pyedb-0.37.0/src/pyedb/misc → pyedb-0.39.0/src/pyedb/grpc/database/ports}/__init__.py +0 -0
  239. {pyedb-0.37.0/src/pyedb/misc/siw_feature_config → pyedb-0.39.0/src/pyedb/grpc/database/simulation_setup}/__init__.py +0 -0
  240. {pyedb-0.37.0/src/pyedb/misc/siw_feature_config/emc → pyedb-0.39.0/src/pyedb/grpc/database/terminal}/__init__.py +0 -0
  241. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
  242. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
  243. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
  244. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
  245. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/color.py +0 -0
  246. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/content.py +0 -0
  247. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
  248. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
  249. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
  250. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
  251. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
  252. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/fill.py +0 -0
  253. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
  254. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
  255. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
  256. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
  257. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
  258. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
  259. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
  260. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
  261. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
  262. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
  263. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
  264. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
  265. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
  266. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
  267. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
  268. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
  269. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
  270. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
  271. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
  272. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/history_record.py +0 -0
  273. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
  274. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
  275. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/downloads.py +0 -0
  276. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/misc.py +0 -0
  277. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
  278. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
  279. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
  280. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
  281. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
  282. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
  283. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
  284. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
  285. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
  286. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
  287. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
  288. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
  289. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/misc/utilities.py +0 -0
  290. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/siwave.py +0 -0
  291. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/siwave_core/icepak.py +0 -0
  292. {pyedb-0.37.0 → pyedb-0.39.0}/src/pyedb/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pyedb
3
- Version: 0.37.0
3
+ Version: 0.39.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>
@@ -25,16 +25,19 @@ Requires-Dist: pydantic>=2.6.4,<2.11
25
25
  Requires-Dist: Rtree >= 1.2.0
26
26
  Requires-Dist: toml == 0.10.2
27
27
  Requires-Dist: scikit-rf
28
- Requires-Dist: ansys-sphinx-theme>=0.10.0,<1.1 ; extra == "doc"
28
+ Requires-Dist: ansys-edb-core
29
+ Requires-Dist: ansys-api-edb
30
+ Requires-Dist: psutil
31
+ Requires-Dist: ansys-sphinx-theme>=0.10.0,<1.4 ; extra == "doc"
29
32
  Requires-Dist: imageio>=2.30.0,<2.37 ; extra == "doc"
30
33
  Requires-Dist: ipython>=8.13.0,<8.32 ; extra == "doc"
31
34
  Requires-Dist: jupyterlab>=4.0.0,<4.4 ; extra == "doc"
32
35
  Requires-Dist: jupytext>=1.16.0,<1.17 ; extra == "doc"
33
- Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "doc"
36
+ Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "doc"
34
37
  Requires-Dist: nbsphinx>=0.9.0,<0.10 ; extra == "doc"
35
38
  Requires-Dist: nbconvert < 7.17 ; extra == "doc"
36
39
  Requires-Dist: numpydoc>=1.5.0,<1.9 ; extra == "doc"
37
- Requires-Dist: pypandoc>=1.10.0,<1.15 ; extra == "doc"
40
+ Requires-Dist: pypandoc>=1.10.0,<1.16 ; extra == "doc"
38
41
  Requires-Dist: recommonmark ; extra == "doc"
39
42
  Requires-Dist: Sphinx>=7.1.0,<8.2 ; extra == "doc"
40
43
  Requires-Dist: sphinx-autobuild==2021.3.14 ; extra == "doc" and ( python_version == '3.8')
@@ -43,9 +46,9 @@ Requires-Dist: sphinx-copybutton>=0.5.0,<0.6 ; extra == "doc"
43
46
  Requires-Dist: sphinx-gallery>=0.14.0,<0.19 ; extra == "doc"
44
47
  Requires-Dist: sphinx_design>=0.4.0,<0.7 ; extra == "doc"
45
48
  Requires-Dist: shapely ; extra == "doc"
46
- Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "full"
49
+ Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "full"
47
50
  Requires-Dist: shapely ; extra == "full"
48
- Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "tests"
51
+ Requires-Dist: matplotlib>=3.5.0,<3.11 ; extra == "tests"
49
52
  Requires-Dist: mock>=5.1.0,<5.2 ; extra == "tests"
50
53
  Requires-Dist: pytest>=7.4.0,<8.4 ; extra == "tests"
51
54
  Requires-Dist: pytest-cov>=4.0.0,<6.1 ; extra == "tests"
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["flit_core >=3.2,<4"]
2
+ requires = ["flit_core >=3.2,<3.11"] # THIS SHOULD BE REVERTED TO '["flit_core >=3.2,<4"]'
3
3
  build-backend = "flit_core.buildapi"
4
4
 
5
5
 
@@ -34,12 +34,15 @@ dependencies = [
34
34
  "pydantic>=2.6.4,<2.11",
35
35
  "Rtree >= 1.2.0",
36
36
  "toml == 0.10.2",
37
- "scikit-rf"
37
+ "scikit-rf",
38
+ "ansys-edb-core",
39
+ "ansys-api-edb",
40
+ "psutil",
38
41
  ]
39
42
 
40
43
  [project.optional-dependencies]
41
44
  tests = [
42
- "matplotlib>=3.5.0,<3.10",
45
+ "matplotlib>=3.5.0,<3.11",
43
46
  "mock>=5.1.0,<5.2",
44
47
  "pytest>=7.4.0,<8.4",
45
48
  "pytest-cov>=4.0.0,<6.1",
@@ -48,16 +51,16 @@ tests = [
48
51
  "shapely"
49
52
  ]
50
53
  doc = [
51
- "ansys-sphinx-theme>=0.10.0,<1.1",
54
+ "ansys-sphinx-theme>=0.10.0,<1.4",
52
55
  "imageio>=2.30.0,<2.37",
53
56
  "ipython>=8.13.0,<8.32",
54
57
  "jupyterlab>=4.0.0,<4.4",
55
58
  "jupytext>=1.16.0,<1.17",
56
- "matplotlib>=3.5.0,<3.10",
59
+ "matplotlib>=3.5.0,<3.11",
57
60
  "nbsphinx>=0.9.0,<0.10",
58
61
  "nbconvert < 7.17",
59
62
  "numpydoc>=1.5.0,<1.9",
60
- "pypandoc>=1.10.0,<1.15",
63
+ "pypandoc>=1.10.0,<1.16",
61
64
  # NOTE: Remove recommonmark once examples are reworked.
62
65
  "recommonmark",
63
66
  "Sphinx>=7.1.0,<8.2",
@@ -70,7 +73,7 @@ doc = [
70
73
 
71
74
  ]
72
75
  full = [
73
- "matplotlib>=3.5.0,<3.10",
76
+ "matplotlib>=3.5.0,<3.11",
74
77
  "shapely",
75
78
  ]
76
79
 
@@ -115,6 +118,7 @@ filterwarnings = [
115
118
  ]
116
119
  markers = [
117
120
  "legacy: mark test as related to the legacy API.",
121
+ "grpc: mark test as related to the gRPC API.",
118
122
  "unit: mark test as an unit test.",
119
123
  "integration: mark test as an integration test.",
120
124
  "system: mark test as a system test.",
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.37.0"
47
+ __version__ = "0.39.0"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -1,44 +1,9 @@
1
1
  import math
2
- import os
3
2
  import time
4
3
 
5
4
  from pyedb.generic.constants import CSS4_COLORS
6
5
 
7
6
 
8
- def is_notebook():
9
- """Check if pyaedt is running in Jupyter or not.
10
-
11
- Returns
12
- -------
13
- bool
14
- """
15
- try:
16
- shell = get_ipython().__class__.__name__
17
- if shell in ["ZMQInteractiveShell"]: # pragma: no cover
18
- return True # Jupyter notebook or qtconsole
19
- else:
20
- return False
21
- except NameError:
22
- return False # Probably standard Python interpreter
23
-
24
-
25
- def is_ipython():
26
- """Check if pyaedt is running in Jupyter or not.
27
-
28
- Returns
29
- -------
30
- bool
31
- """
32
- try:
33
- shell = get_ipython().__class__.__name__
34
- if shell in ["TerminalInteractiveShell", "SpyderShell"]:
35
- return True # Jupyter notebook or qtconsole
36
- else: # pragma: no cover
37
- return False
38
- except NameError:
39
- return False # Probably standard Python interpreter
40
-
41
-
42
7
  class CommonNets:
43
8
  def __init__(self, _pedb):
44
9
  self._pedb = _pedb
@@ -57,8 +22,6 @@ class CommonNets:
57
22
  show=True,
58
23
  annotate_component_names=True,
59
24
  plot_vias=False,
60
- include_outline=True,
61
- plot_edges=True,
62
25
  **kwargs,
63
26
  ):
64
27
  """Plot a Net to Matplotlib 2D Chart.
@@ -79,7 +42,7 @@ class CommonNets:
79
42
  If a path is specified the plot will be saved in this location.
80
43
  If ``save_plot`` is provided, the ``show`` parameter is ignored.
81
44
  outline : list, optional
82
- Add a customer outline from a list of points of the outline to plot.
45
+ List of points of the outline to plot.
83
46
  size : tuple, int, optional
84
47
  Image size in pixel (width, height). Default value is ``(6000, 3000)``
85
48
  top_view : bool, optional
@@ -96,17 +59,12 @@ class CommonNets:
96
59
  Default is ``False``.
97
60
  show : bool, optional
98
61
  Whether to show the plot or not. Default is `True`.
99
- include_outline : bool, optional
100
- Whether to include the internal layout outline or not. Default is `True`.
101
- plot_edges : bool, optional
102
- Whether to plot polygon edges or not. Default is `True`.
103
62
 
104
63
  Returns
105
64
  -------
106
65
  (ax, fig)
107
66
  Matplotlib ax and figures.
108
67
  """
109
-
110
68
  if "plot_components_on_top" in kwargs and top_view:
111
69
  plot_components = kwargs["plot_components_on_top"]
112
70
  if "plot_components_on_bottom" in kwargs and not top_view:
@@ -118,30 +76,22 @@ class CommonNets:
118
76
  sign = -1
119
77
  return [[sign * i[0], i[1]] for i in poly]
120
78
 
121
- try:
122
- import matplotlib.pyplot as plt
123
- except ImportError: # pragma: no cover
124
- self._pedb.logger.error("Matplotlib is needed. Please, install it first.")
125
- return False
79
+ import matplotlib.pyplot as plt
126
80
 
127
81
  dpi = 100.0
128
82
  figsize = (size[0] / dpi, size[1] / dpi)
129
83
 
130
84
  fig = plt.figure(figsize=figsize)
131
85
  ax = fig.add_subplot(1, 1, 1)
132
- try:
133
- from shapely import affinity, union_all
134
- from shapely.geometry import (
135
- LinearRing,
136
- MultiLineString,
137
- MultiPolygon,
138
- Point,
139
- Polygon,
140
- )
141
- from shapely.plotting import plot_line, plot_polygon
142
- except ImportError: # pragma: no cover
143
- self._pedb.logger.error("Shapely is needed. Please, install it first.")
144
- return False
86
+ from shapely import affinity
87
+ from shapely.geometry import (
88
+ LinearRing,
89
+ MultiLineString,
90
+ MultiPolygon,
91
+ Point,
92
+ Polygon,
93
+ )
94
+ from shapely.plotting import plot_line, plot_polygon
145
95
 
146
96
  start_time = time.time()
147
97
  if not nets:
@@ -154,33 +104,19 @@ class CommonNets:
154
104
  layers = [layers]
155
105
  color_index = 0
156
106
  label_colors = {}
157
- edge_colors = {}
158
107
  if outline:
159
108
  poly = Polygon(outline)
160
109
  plot_line(poly.boundary, add_points=False, color=(0.7, 0, 0), linewidth=4)
161
- elif include_outline:
162
- prims = self._pedb.modeler.primitives_by_layer.get("Outline", [])
163
- if prims:
164
- for prim in prims:
165
- if prim.is_void:
166
- continue
167
- xt, yt = prim.points()
168
- p1 = [(i, j) for i, j in zip(xt[::-1], yt[::-1])]
169
- p1 = mirror_poly(p1)
170
- poly = LinearRing(p1)
171
- plot_line(poly, add_points=False, color=(0.7, 0, 0), linewidth=4)
172
- else:
173
- bbox = self._pedb.hfss.get_layout_bounding_box()
174
- if not bbox:
175
- return False, False
176
- x1 = bbox[0]
177
- x2 = bbox[2]
178
- y1 = bbox[1]
179
- y2 = bbox[3]
180
- p = [(x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)]
181
- p = mirror_poly(p)
182
- poly = LinearRing(p)
183
- plot_line(poly, add_points=False, color=(0.7, 0, 0), linewidth=4)
110
+ else:
111
+ bbox = self._pedb.hfss.get_layout_bounding_box()
112
+ x1 = bbox[0]
113
+ x2 = bbox[2]
114
+ y1 = bbox[1]
115
+ y2 = bbox[3]
116
+ p = [(x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)]
117
+ p = mirror_poly(p)
118
+ poly = LinearRing(p)
119
+ plot_line(poly, add_points=False, color=(0.7, 0, 0), linewidth=4)
184
120
  layer_colors = {i: k.color for i, k in self._pedb.stackup.layers.items()}
185
121
  top_layer = list(self._pedb.stackup.signal_layers.keys())[0]
186
122
  bottom_layer = list(self._pedb.stackup.signal_layers.keys())[-1]
@@ -310,24 +246,14 @@ class CommonNets:
310
246
  # poly = LineString(line).buffer(prim.width / 2)
311
247
  # else:
312
248
  xt, yt = prim.points()
313
- if len(xt) < 3:
314
- return
315
249
  p1 = [(i, j) for i, j in zip(xt[::-1], yt[::-1])]
316
250
  p1 = mirror_poly(p1)
317
251
 
318
252
  holes = []
319
253
  for void in prim.voids:
320
254
  xvt, yvt = void.points(arc_segments=3)
321
- if len(xvt) < 3:
322
- continue
323
255
  h1 = mirror_poly([(i, j) for i, j in zip(xvt, yvt)])
324
256
  holes.append(h1)
325
- if len(holes) > 1:
326
- holes = union_all([Polygon(i) for i in holes])
327
- if isinstance(holes, MultiPolygon):
328
- holes = [i.boundary for i in list(holes.geoms)]
329
- else:
330
- holes = [holes.boundary]
331
257
  poly = Polygon(p1, holes)
332
258
  if layer_name == "Outline":
333
259
  if label_colors[label] in lines:
@@ -338,36 +264,33 @@ class CommonNets:
338
264
 
339
265
  if color_by_net:
340
266
  for net in nets:
341
- prims = self._pedb.nets.nets[net].primitives
342
- polys = []
343
- lines = []
344
- if net not in nets:
345
- continue
346
- label = "Net " + net
347
- label_colors[label] = list(CSS4_COLORS.keys())[color_index]
348
- try:
349
- edge_colors[label] = [i * 0.5 for i in label_colors[label]]
350
- except TypeError:
351
- edge_colors[label] = label_colors[label]
352
- color_index += 1
353
- if color_index >= len(CSS4_COLORS):
354
- color_index = 0
355
- for prim in prims:
356
- create_poly(prim, polys, lines)
357
- if polys:
358
- ob = MultiPolygon(polys)
359
- plot_polygon(
360
- ob,
361
- ax=ax,
362
- color=label_colors[label],
363
- add_points=False,
364
- alpha=0.7,
365
- label=label,
366
- edgecolor="none" if not plot_edges else edge_colors[label],
367
- )
368
- if lines:
369
- ob = MultiLineString(p)
370
- plot_line(ob, ax=ax, add_points=False, color=label_colors[label], linewidth=1, label=label)
267
+ if net in self._pedb.nets.nets:
268
+ prims = self._pedb.nets.nets[net].primitives
269
+ polys = []
270
+ lines = []
271
+ if net not in nets:
272
+ continue
273
+ label = "Net " + net
274
+ label_colors[label] = list(CSS4_COLORS.keys())[color_index]
275
+ color_index += 1
276
+ if color_index >= len(CSS4_COLORS):
277
+ color_index = 0
278
+ for prim in prims:
279
+ create_poly(prim, polys, lines)
280
+ if polys:
281
+ ob = MultiPolygon(polys)
282
+ plot_polygon(
283
+ ob,
284
+ ax=ax,
285
+ color=label_colors[label],
286
+ add_points=False,
287
+ alpha=0.7,
288
+ label=label,
289
+ edgecolor="none",
290
+ )
291
+ if lines:
292
+ ob = MultiLineString(p)
293
+ plot_line(ob, ax=ax, add_points=False, color=label_colors[label], linewidth=1, label=label)
371
294
  else:
372
295
  prims_by_layers_dict = {i: j for i, j in self._pedb.modeler.primitives_by_layer.items()}
373
296
  if not top_view:
@@ -397,10 +320,6 @@ class CommonNets:
397
320
  if color_index >= len(CSS4_COLORS):
398
321
  color_index = 0
399
322
  label_colors[label] = c
400
- try:
401
- edge_colors[label] = [i * 0.5 for i in c]
402
- except TypeError:
403
- edge_colors[label] = label_colors[label]
404
323
  for prim in prims:
405
324
  create_poly(prim, polys, lines)
406
325
  if polys:
@@ -412,7 +331,7 @@ class CommonNets:
412
331
  add_points=False,
413
332
  alpha=alpha,
414
333
  label=label,
415
- edgecolor="none" if not plot_edges else edge_colors[label],
334
+ edgecolor="none",
416
335
  )
417
336
  if lines:
418
337
  ob = MultiLineString(p)
@@ -480,15 +399,10 @@ class CommonNets:
480
399
  plt.title(message, size=20)
481
400
  if show_legend:
482
401
  plt.legend(loc="upper left", fontsize="x-large")
483
- end_time = time.time() - start_time
484
- self._logger.info(f"Plot Generation time {round(end_time, 3)}")
485
402
  if save_plot:
486
403
  plt.savefig(save_plot)
487
- if show: # pragma: no cover
488
- if is_notebook():
489
- pass
490
- elif is_ipython() or "PYTEST_CURRENT_TEST" in os.environ:
491
- fig.show()
492
- else:
493
- plt.show()
404
+ elif show:
405
+ plt.show()
406
+ end_time = time.time() - start_time
407
+ self._logger.info(f"Plot Generation time {round(end_time, 3)}")
494
408
  return fig, ax
@@ -22,7 +22,7 @@
22
22
 
23
23
 
24
24
  class CfgBase:
25
- protected_attributes = []
25
+ protected_attributes = ["pedb", "pyedb_obj", "api"]
26
26
 
27
27
  def get_attributes(self, exclude=None):
28
28
  attrs = {i: j for i, j in self.__dict__.items() if i not in self.protected_attributes}