ansys-edb-core 0.2.dev1__tar.gz → 0.2.0.dev3__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.
Files changed (145) hide show
  1. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/PKG-INFO +2 -2
  2. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/pyproject.toml +2 -2
  3. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/material_def.py +9 -10
  4. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/padstack_def_data.py +2 -2
  5. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/polygon_data.py +13 -1
  6. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/cell_instance.py +1 -1
  7. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/pin_group.py +2 -2
  8. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/spice_model.py +8 -1
  9. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/structure3d.py +2 -2
  10. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/base.py +3 -1
  11. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/inner/factory.py +161 -0
  12. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/messages.py +2 -2
  13. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/parser.py +21 -11
  14. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/rpc_info.py +210 -99
  15. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/utils.py +31 -1
  16. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout/cell.py +7 -3
  17. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout/layout.py +177 -133
  18. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout/mcad_model.py +5 -4
  19. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout/voltage_regulator.py +1 -1
  20. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/layout_instance.py +25 -12
  21. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/net/net.py +10 -2
  22. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/net/net_class.py +1 -1
  23. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/board_bend_def.py +96 -0
  24. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/bondwire.py +348 -0
  25. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/circle.py +142 -0
  26. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/padstack_instance.py +457 -0
  27. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/path.py +259 -0
  28. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/polygon.py +66 -0
  29. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/primitive.py +185 -0
  30. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/primitive_instance_collection.py +119 -0
  31. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/rectangle.py +242 -0
  32. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/primitive/text.py +98 -0
  33. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/session.py +45 -20
  34. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/simulation_setup/hfss_pi_simulation_settings.py +360 -0
  35. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/simulation_setup/hfss_pi_simulation_setup.py +37 -0
  36. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/simulation_setup/q3d_simulation_settings.py +342 -0
  37. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/simulation_setup/q3d_simulation_setup.py +37 -0
  38. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/simulation_setup.py +2 -5
  39. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/siwave_dcir_simulation_settings.py +1 -1
  40. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/siwave_simulation_settings.py +1 -1
  41. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/bundle_terminal.py +36 -0
  42. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/edge_terminal.py +170 -0
  43. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/padstack_instance_terminal.py +71 -0
  44. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/pin_group_terminal.py +60 -0
  45. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/point_terminal.py +69 -0
  46. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/terminal.py +331 -0
  47. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/terminal_instance.py +55 -0
  48. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/terminal/terminal_instance_terminal.py +51 -0
  49. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/typing/__init__.py +4 -0
  50. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/conversions.py +19 -13
  51. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/utility/edb_error_manager.py +68 -0
  52. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/heat_sink.py +29 -9
  53. ansys_edb_core-0.2.0.dev3/src/ansys/edb/core/utility/hfss_extent_info.py +164 -0
  54. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/io_manager.py +6 -10
  55. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/layer_map.py +41 -20
  56. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/material_property_thermal_modifier_params.py +30 -24
  57. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/port_post_processing_prop.py +37 -25
  58. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/rlc.py +31 -25
  59. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/temperature_settings.py +22 -3
  60. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/transform.py +39 -23
  61. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/transform3d.py +67 -48
  62. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/value.py +40 -28
  63. ansys_edb_core-0.2.dev1/src/ansys/edb/core/inner/factory.py +0 -76
  64. ansys_edb_core-0.2.dev1/src/ansys/edb/core/primitive/primitive.py +0 -1852
  65. ansys_edb_core-0.2.dev1/src/ansys/edb/core/terminal/terminals.py +0 -810
  66. ansys_edb_core-0.2.dev1/src/ansys/edb/core/utility/hfss_extent_info.py +0 -153
  67. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/LICENSE +0 -0
  68. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/README.rst +0 -0
  69. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/__init__.py +0 -0
  70. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/database.py +0 -0
  71. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/__init__.py +0 -0
  72. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/bondwire_def.py +0 -0
  73. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/component_def.py +0 -0
  74. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/component_model.py +0 -0
  75. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/component_pin.py +0 -0
  76. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/component_property.py +0 -0
  77. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/dataset_def.py +0 -0
  78. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/debye_model.py +0 -0
  79. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/die_property.py +0 -0
  80. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/dielectric_material_model.py +0 -0
  81. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/djordjecvic_sarkar_model.py +0 -0
  82. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/ic_component_property.py +0 -0
  83. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/io_component_property.py +0 -0
  84. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/material_property_thermal_modifier.py +0 -0
  85. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/multipole_debye_model.py +0 -0
  86. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/package_def.py +0 -0
  87. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/padstack_def.py +0 -0
  88. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/port_property.py +0 -0
  89. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/rlc_component_property.py +0 -0
  90. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/definition/solder_ball_property.py +0 -0
  91. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/edb_defs.py +0 -0
  92. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/__init__.py +0 -0
  93. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/arc_data.py +0 -0
  94. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/point3d_data.py +0 -0
  95. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/point_data.py +0 -0
  96. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/r_tree.py +0 -0
  97. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/geometry/triangle3d_data.py +0 -0
  98. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/__init__.py +0 -0
  99. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/component_group.py +0 -0
  100. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/group.py +0 -0
  101. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/hierarchy_obj.py +0 -0
  102. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/inst_array.py +0 -0
  103. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/layout_component.py +0 -0
  104. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/model.py +0 -0
  105. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/netlist_model.py +0 -0
  106. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/pin_pair_model.py +0 -0
  107. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/sparameter_model.py +0 -0
  108. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/hierarchy/via_group.py +0 -0
  109. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/__init__.py +0 -0
  110. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/conn_obj.py +0 -0
  111. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/decorators.py +0 -0
  112. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/edb_logging.py +0 -0
  113. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/exceptions.py +0 -0
  114. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/interceptors.py +0 -0
  115. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/layout_obj.py +0 -0
  116. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/rpc_info_utils.py +0 -0
  117. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/inner/variable_server.py +0 -0
  118. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layer/__init__.py +0 -0
  119. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layer/layer.py +0 -0
  120. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layer/layer_collection.py +0 -0
  121. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layer/stackup_layer.py +0 -0
  122. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layer/via_layer.py +0 -0
  123. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout/__init__.py +0 -0
  124. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/__init__.py +0 -0
  125. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/layout_instance_context.py +0 -0
  126. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/layout_obj_instance.py +0 -0
  127. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/layout_obj_instance_2d_geometry.py +0 -0
  128. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/layout_obj_instance_3d_geometry.py +0 -0
  129. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/layout_instance/layout_obj_instance_geometry.py +0 -0
  130. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/net/__init__.py +0 -0
  131. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/net/differential_pair.py +0 -0
  132. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/net/extended_net.py +0 -0
  133. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/primitive/__init__.py +0 -0
  134. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/__init__.py +0 -0
  135. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/adaptive_solutions.py +0 -0
  136. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/hfss_simulation_settings.py +0 -0
  137. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/hfss_simulation_setup.py +0 -0
  138. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/mesh_operation.py +0 -0
  139. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/raptor_x_simulation_settings.py +0 -0
  140. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/raptor_x_simulation_setup.py +0 -0
  141. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/simulation_settings.py +0 -0
  142. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/siwave_dcir_simulation_setup.py +0 -0
  143. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/simulation_setup/siwave_simulation_setup.py +0 -0
  144. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/terminal/__init__.py +0 -0
  145. {ansys_edb_core-0.2.dev1 → ansys_edb_core-0.2.0.dev3}/src/ansys/edb/core/utility/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ansys-edb-core
3
- Version: 0.2.dev1
3
+ Version: 0.2.0.dev3
4
4
  Summary: A python wrapper for Ansys Edb service
5
5
  Author-email: "ANSYS, Inc." <pyansys.support@ansys.com>
6
6
  Maintainer-email: PyAnsys developers <pyansys.maintainers@ansys.com>
@@ -15,7 +15,7 @@ Classifier: Programming Language :: Python :: 3.8
15
15
  Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  License-File: LICENSE
18
- Requires-Dist: ansys-api-edb==0.2.dev1
18
+ Requires-Dist: ansys-api-edb==0.2.dev4
19
19
  Requires-Dist: protobuf>=3.19.3,<5
20
20
  Requires-Dist: grpcio>=1.44.0
21
21
  Requires-Dist: Django>=4.2.16
@@ -5,7 +5,7 @@ build-backend = "flit_core.buildapi"
5
5
  [project]
6
6
  # Check https://flit.readthedocs.io/en/latest/pyproject_toml.html for all available sections
7
7
  name = "ansys-edb-core"
8
- version = "0.2.dev1"
8
+ version = "0.2.0.dev3"
9
9
  description = "A python wrapper for Ansys Edb service"
10
10
  readme = "README.rst"
11
11
  requires-python = ">=3.8"
@@ -25,7 +25,7 @@ classifiers = [
25
25
 
26
26
 
27
27
  dependencies = [
28
- "ansys-api-edb==0.2.dev1",
28
+ "ansys-api-edb==0.2.dev4",
29
29
  "protobuf>=3.19.3,<5",
30
30
  "grpcio>=1.44.0",
31
31
  "Django>=4.2.16"
@@ -5,6 +5,9 @@ from enum import Enum
5
5
  import ansys.api.edb.v1.material_def_pb2 as pb
6
6
 
7
7
  from ansys.edb.core.definition.dielectric_material_model import DielectricMaterialModel
8
+ from ansys.edb.core.definition.material_property_thermal_modifier import (
9
+ MaterialPropertyThermalModifier,
10
+ )
8
11
  from ansys.edb.core.edb_defs import DefinitionObjType
9
12
  from ansys.edb.core.inner import ObjBase, messages
10
13
  from ansys.edb.core.session import MaterialDefServiceStub, StubAccessor, StubType
@@ -28,10 +31,6 @@ class MaterialProperty(Enum):
28
31
  INVALID_PROPERTY = pb.INVALID_PROPERTY
29
32
 
30
33
 
31
- class ThermalModifier(ObjBase):
32
- """Represents a thermal modifier model."""
33
-
34
-
35
34
  class MaterialDef(ObjBase):
36
35
  """Represents a material definition."""
37
36
 
@@ -236,10 +235,10 @@ class MaterialDef(ObjBase):
236
235
 
237
236
  Returns
238
237
  -------
239
- ThermalModifier
238
+ MaterialPropertyThermalModifier
240
239
  Thermal modifier of the material definition.
241
240
  """
242
- return ThermalModifier(
241
+ return MaterialPropertyThermalModifier(
243
242
  self.__stub.GetThermalModifier(
244
243
  MaterialDef._property_message(self, material_property_id)
245
244
  )
@@ -253,7 +252,7 @@ class MaterialDef(ObjBase):
253
252
  material_property_id : \
254
253
  :class:`MaterialProperty`
255
254
  Property ID.
256
- thermal_modifier : ThermalModifier
255
+ thermal_modifier : MaterialPropertyThermalModifier
257
256
  Thermal modifier to set to the material definition.
258
257
  """
259
258
  self.__stub.SetThermalModifier(
@@ -277,10 +276,10 @@ class MaterialDef(ObjBase):
277
276
 
278
277
  Returns
279
278
  -------
280
- :class:`.ThermalModifier`
279
+ :class:`.MaterialPropertyThermalModifier`
281
280
  Anisotropic thermal modifier of the material definition.
282
281
  """
283
- return ThermalModifier(
282
+ return MaterialPropertyThermalModifier(
284
283
  self.__stub.GetAnisotropicThermalModifier(
285
284
  pb.MaterialDefPropertyComponentMessage(
286
285
  materialDef=messages.edb_obj_message(self),
@@ -302,7 +301,7 @@ class MaterialDef(ObjBase):
302
301
  Property ID.
303
302
  component_id : int
304
303
  Component ID.
305
- thermal_modifier : :class:`.ThermalModifier`
304
+ thermal_modifier : :class:`.MaterialPropertyThermalModifier`
306
305
  Anisotropic thermal modifier to set to the material definition.
307
306
  """
308
307
  self.__stub.SetAnisotropicThermalModifier(
@@ -118,7 +118,7 @@ class PadstackDefData(ObjBase):
118
118
  This property is read-only.
119
119
  """
120
120
  layer_names_msg = self.__stub.GetLayerNames(self.msg).names
121
- return layer_names_msg
121
+ return list(layer_names_msg)
122
122
 
123
123
  @property
124
124
  def layer_ids(self):
@@ -127,7 +127,7 @@ class PadstackDefData(ObjBase):
127
127
  This property is read-only.
128
128
  """
129
129
  layer_ids_msg = self.__stub.GetLayerIds(self.msg)
130
- return layer_ids_msg.ids
130
+ return list(layer_ids_msg.ids)
131
131
 
132
132
  def add_layers(self, names):
133
133
  """
@@ -9,6 +9,7 @@ from ansys.api.edb.v1 import edb_defs_pb2, point_data_pb2, polygon_data_pb2, pol
9
9
  from ansys.edb.core import session
10
10
  from ansys.edb.core.geometry.arc_data import ArcData
11
11
  from ansys.edb.core.inner import messages, parser
12
+ from ansys.edb.core.inner.utils import client_stream_iterator
12
13
  from ansys.edb.core.utility import conversions
13
14
 
14
15
 
@@ -40,6 +41,17 @@ class IntersectionType(Enum):
40
41
  class PolygonData:
41
42
  """Represents a polygon data object."""
42
43
 
44
+ @staticmethod
45
+ def _polygon_data_request_iterator(polys):
46
+ chunk_entry_creator = lambda poly: messages.polygon_data_message(poly)
47
+ chunk_entries_getter = lambda chunk: chunk.polygons
48
+ return client_stream_iterator(
49
+ polys,
50
+ polygon_data_pb2.PolygonDataListMessage,
51
+ chunk_entry_creator,
52
+ chunk_entries_getter,
53
+ )
54
+
43
55
  __stub: polygon_data_pb2_grpc.PolygonDataServiceStub = session.StubAccessor(
44
56
  session.StubType.polygon_data
45
57
  )
@@ -355,7 +367,7 @@ class PolygonData:
355
367
  -------
356
368
  tuple[.PointData, .PointData]
357
369
  """
358
- return cls.__stub.GetBBox(messages.polygon_data_list_message(polygons))
370
+ return cls.__stub.GetStreamedBBox(PolygonData._polygon_data_request_iterator(polygons))
359
371
 
360
372
  @parser.to_circle
361
373
  def bounding_circle(self):
@@ -98,7 +98,7 @@ class CellInstance(hierarchy_obj.HierarchyObj):
98
98
 
99
99
  This property is read-only.
100
100
  """
101
- from ansys.edb.core.terminal.terminals import TerminalInstance
101
+ from ansys.edb.core.terminal.terminal_instance import TerminalInstance
102
102
 
103
103
  terms = self.__stub.GetTermInsts(self.msg).items
104
104
  return [TerminalInstance(ti) for ti in terms]
@@ -3,9 +3,9 @@
3
3
  from ansys.edb.core.edb_defs import LayoutObjType
4
4
  from ansys.edb.core.inner import messages
5
5
  from ansys.edb.core.inner.conn_obj import ConnObj
6
- from ansys.edb.core.primitive.primitive import PadstackInstance
6
+ from ansys.edb.core.primitive.padstack_instance import PadstackInstance
7
7
  from ansys.edb.core.session import PinGroupServiceStub, StubAccessor, StubType
8
- from ansys.edb.core.terminal.terminals import PinGroupTerminal
8
+ from ansys.edb.core.terminal.pin_group_terminal import PinGroupTerminal
9
9
 
10
10
 
11
11
  class PinGroup(ConnObj):
@@ -1,6 +1,6 @@
1
1
  """SPICE Model."""
2
2
  from ansys.edb.core.hierarchy.model import Model
3
- from ansys.edb.core.inner import messages
3
+ from ansys.edb.core.inner import messages, parser
4
4
  from ansys.edb.core.session import SpiceModelServiceStub, StubAccessor, StubType
5
5
 
6
6
 
@@ -78,3 +78,10 @@ class SPICEModel(Model):
78
78
  Terminal name.
79
79
  """
80
80
  self.__stub.RemoveTerminalPinPair(messages.string_property_message(self, terminal))
81
+
82
+ @property
83
+ @parser.to_string_dict
84
+ def terminal_pin_pairs(self):
85
+ """:obj:`dict` of {:obj:`str` : :obj:`str`}: A dictionary showing the mapping of terminals in the layout to \
86
+ pins in the spice model by name."""
87
+ return self.__stub.GetTerminalPinPairs(self.msg)
@@ -2,8 +2,8 @@
2
2
 
3
3
  from enum import Enum
4
4
 
5
- import ansys.api.edb.v1.structure3d_pb2 as structure3d_pb2
6
- from ansys.api.edb.v1.structure3d_pb2_grpc import Structure3DServiceStub
5
+ import ansys.api.edb.v1.structure_3d_pb2 as structure3d_pb2
6
+ from ansys.api.edb.v1.structure_3d_pb2_grpc import Structure3DServiceStub
7
7
 
8
8
  from ansys.edb.core.hierarchy.group import Group
9
9
  from ansys.edb.core.inner import messages
@@ -23,6 +23,8 @@ class ObjBase:
23
23
 
24
24
  This property is read-only.
25
25
  """
26
+ if (buffer := get_buffer()) is not None:
27
+ buffer.flush()
26
28
  return self.id == 0
27
29
 
28
30
  @property
@@ -46,7 +48,7 @@ class ObjBase:
46
48
  if io_mgr.is_enabled:
47
49
  if self._is_future:
48
50
  msg.is_future = True
49
- get_io_manager().active_request_edb_obj_msg_mgr.add_active_request_edb_obj_msg(msg)
51
+ io_mgr.active_request_edb_obj_msg_mgr.add_active_request_edb_obj_msg(msg)
50
52
  return msg
51
53
 
52
54
  @msg.setter
@@ -0,0 +1,161 @@
1
+ """This module allows for the creating of objects while avoid circular imports."""
2
+
3
+ from ansys.edb.core.edb_defs import LayoutObjType
4
+
5
+ _type_creator_params_dict = None
6
+ _primitive_type_creator_params_dict = None
7
+ _terminal_type_creator_params_dict = None
8
+
9
+
10
+ class _CreatorParams:
11
+ def __init__(self, obj_type, do_cast=False):
12
+ self.obj_type = obj_type
13
+ self.do_cast = do_cast
14
+
15
+
16
+ def _initialize_type_creator_params_dict():
17
+ global _type_creator_params_dict
18
+
19
+ from ansys.edb.core.hierarchy.cell_instance import CellInstance
20
+ from ansys.edb.core.hierarchy.group import Group
21
+ from ansys.edb.core.hierarchy.pin_group import PinGroup
22
+ from ansys.edb.core.inner.conn_obj import ConnObj
23
+ from ansys.edb.core.layout.voltage_regulator import VoltageRegulator
24
+ from ansys.edb.core.net.differential_pair import DifferentialPair
25
+ from ansys.edb.core.net.extended_net import ExtendedNet
26
+ from ansys.edb.core.net.net import Net
27
+ from ansys.edb.core.net.net_class import NetClass
28
+ from ansys.edb.core.primitive.padstack_instance import PadstackInstance
29
+ from ansys.edb.core.primitive.primitive import Primitive
30
+ from ansys.edb.core.terminal.terminal import Terminal
31
+ from ansys.edb.core.terminal.terminal_instance import TerminalInstance
32
+
33
+ _type_creator_params_dict = {
34
+ LayoutObjType.PRIMITIVE: _CreatorParams(Primitive, True),
35
+ LayoutObjType.PADSTACK_INSTANCE: _CreatorParams(PadstackInstance),
36
+ LayoutObjType.TERMINAL: _CreatorParams(Terminal, True),
37
+ LayoutObjType.TERMINAL_INSTANCE: _CreatorParams(TerminalInstance),
38
+ LayoutObjType.CELL_INSTANCE: _CreatorParams(CellInstance),
39
+ LayoutObjType.GROUP: _CreatorParams(Group, True),
40
+ LayoutObjType.PIN_GROUP: _CreatorParams(PinGroup),
41
+ LayoutObjType.VOLTAGE_REGULATOR: _CreatorParams(VoltageRegulator),
42
+ LayoutObjType.NET_CLASS: _CreatorParams(NetClass),
43
+ LayoutObjType.EXTENDED_NET: _CreatorParams(ExtendedNet),
44
+ LayoutObjType.DIFFERENTIAL_PAIR: _CreatorParams(DifferentialPair),
45
+ LayoutObjType.NET: _CreatorParams(Net),
46
+ LayoutObjType.INVALID_LAYOUT_OBJ: _CreatorParams(ConnObj),
47
+ }
48
+ return _type_creator_params_dict
49
+
50
+
51
+ def _initialize_primitive_type_creator_params_dict():
52
+ global _primitive_type_creator_params_dict
53
+
54
+ from ansys.edb.core.primitive.board_bend_def import BoardBendDef
55
+ from ansys.edb.core.primitive.bondwire import Bondwire
56
+ from ansys.edb.core.primitive.circle import Circle
57
+ from ansys.edb.core.primitive.path import Path
58
+ from ansys.edb.core.primitive.polygon import Polygon
59
+ from ansys.edb.core.primitive.primitive import PrimitiveType
60
+ from ansys.edb.core.primitive.primitive_instance_collection import PrimitiveInstanceCollection
61
+ from ansys.edb.core.primitive.rectangle import Rectangle
62
+ from ansys.edb.core.primitive.text import Text
63
+
64
+ _primitive_type_creator_params_dict = {
65
+ PrimitiveType.BOARD_BEND: _CreatorParams(BoardBendDef),
66
+ PrimitiveType.BONDWIRE: _CreatorParams(Bondwire),
67
+ PrimitiveType.CIRCLE: _CreatorParams(Circle),
68
+ PrimitiveType.PATH: _CreatorParams(Path),
69
+ PrimitiveType.POLYGON: _CreatorParams(Polygon),
70
+ PrimitiveType.RECTANGLE: _CreatorParams(Rectangle),
71
+ PrimitiveType.TEXT: _CreatorParams(Text),
72
+ PrimitiveType.PRIM_INST_COLLECTION: _CreatorParams(PrimitiveInstanceCollection),
73
+ }
74
+ return _primitive_type_creator_params_dict
75
+
76
+
77
+ def _initialize_terminal_type_creator_params_dict():
78
+ global _terminal_type_creator_params_dict
79
+
80
+ from ansys.edb.core.terminal.bundle_terminal import BundleTerminal
81
+ from ansys.edb.core.terminal.edge_terminal import EdgeTerminal
82
+ from ansys.edb.core.terminal.padstack_instance_terminal import PadstackInstanceTerminal
83
+ from ansys.edb.core.terminal.pin_group_terminal import PinGroupTerminal
84
+ from ansys.edb.core.terminal.point_terminal import PointTerminal
85
+ from ansys.edb.core.terminal.terminal import TerminalType
86
+ from ansys.edb.core.terminal.terminal_instance_terminal import TerminalInstanceTerminal
87
+
88
+ _terminal_type_creator_params_dict = {
89
+ TerminalType.BUNDLE: _CreatorParams(BundleTerminal),
90
+ TerminalType.EDGE: _CreatorParams(EdgeTerminal),
91
+ TerminalType.PADSTACK_INST: _CreatorParams(PadstackInstanceTerminal),
92
+ TerminalType.PIN_GROUP: _CreatorParams(PinGroupTerminal),
93
+ TerminalType.POINT: _CreatorParams(PointTerminal),
94
+ TerminalType.TERM_INST: _CreatorParams(TerminalInstanceTerminal),
95
+ }
96
+ return _terminal_type_creator_params_dict
97
+
98
+
99
+ def _initialize_and_get_creator_dict(initializer, creator_dict):
100
+ return initializer() if creator_dict is None else creator_dict
101
+
102
+
103
+ def _get_type_creator_dict():
104
+ return _initialize_and_get_creator_dict(
105
+ _initialize_type_creator_params_dict, _type_creator_params_dict
106
+ )
107
+
108
+
109
+ def _get_primitive_type_creator_dict():
110
+ return _initialize_and_get_creator_dict(
111
+ _initialize_primitive_type_creator_params_dict, _primitive_type_creator_params_dict
112
+ )
113
+
114
+
115
+ def _get_terminal_type_creator_dict():
116
+ return _initialize_and_get_creator_dict(
117
+ _initialize_terminal_type_creator_params_dict, _terminal_type_creator_params_dict
118
+ )
119
+
120
+
121
+ def create_obj(msg, obj_type, do_cast):
122
+ """Create an object from the provided message of the provided type."""
123
+ obj = obj_type(msg)
124
+ if do_cast:
125
+ obj = obj.cast()
126
+ return obj
127
+
128
+
129
+ def create_obj_from_creator_dict(creator_dict, msg, obj_type):
130
+ """Create an object from the provided message of the type corresponding to the provided object type."""
131
+ params = creator_dict[obj_type]
132
+ return create_obj(msg, params.obj_type, params.do_cast)
133
+
134
+
135
+ def create_lyt_obj(msg, lyt_obj_type):
136
+ """Create a layout object from the provided message of the type corresponding to the provided layout object type."""
137
+ return create_obj_from_creator_dict(_get_type_creator_dict(), msg, lyt_obj_type)
138
+
139
+
140
+ def create_primitive(msg, prim_type):
141
+ """Create a primitive from the provided message of the type corresponding to the provided primitive type."""
142
+ return create_obj_from_creator_dict(_get_primitive_type_creator_dict(), msg, prim_type)
143
+
144
+
145
+ def create_terminal(msg, term_type):
146
+ """Create a terminal from the provided message of the type corresponding to the provided terminal type."""
147
+ return create_obj_from_creator_dict(_get_terminal_type_creator_dict(), msg, term_type)
148
+
149
+
150
+ def create_conn_obj(msg):
151
+ """Create a connection object of its derived type based on its layout object type.
152
+
153
+ Parameters
154
+ ----------
155
+ msg : ansys.api.edb.v1.edb_messages_pb2.EDBObjMessage
156
+
157
+ Returns
158
+ -------
159
+ ansys.edb.core.inner.ConnObj
160
+ """
161
+ return create_lyt_obj(msg, create_lyt_obj(msg, LayoutObjType.INVALID_LAYOUT_OBJ).obj_type)
@@ -120,10 +120,10 @@ from ansys.api.edb.v1.refs_pb2 import (
120
120
  NetRefMessage,
121
121
  )
122
122
  from ansys.api.edb.v1.rlc_pb2 import RlcMessage
123
+ from ansys.api.edb.v1.s_parameter_model_pb2 import SParameterModelMessage
123
124
  from ansys.api.edb.v1.simulation_setup_pb2 import MatrixConvergenceEntryMessage
124
- from ansys.api.edb.v1.sparameter_model_pb2 import SParameterModelMessage
125
125
  from ansys.api.edb.v1.spice_model_pb2 import SpiceModelMessage, SpiceModelNewTerminalPinMessage
126
- from ansys.api.edb.v1.structure3d_pb2 import ClosureMessage, SetClosureMessage
126
+ from ansys.api.edb.v1.structure_3d_pb2 import ClosureMessage, SetClosureMessage
127
127
  from ansys.api.edb.v1.term_inst_pb2 import TermInstCreationMessage
128
128
  from ansys.api.edb.v1.term_inst_term_pb2 import (
129
129
  TermInstTermCreationMessage,
@@ -17,7 +17,7 @@ from ansys.edb.core.simulation_setup.mesh_operation import (
17
17
 
18
18
  def to_point_data(fn):
19
19
  """Decorate a function that returns a message to return it as a ``PointData`` object."""
20
- return _wraps(fn, _to_point_data)
20
+ return _wraps(fn, msg_to_point_data)
21
21
 
22
22
 
23
23
  def to_point_data_list(fn):
@@ -42,7 +42,7 @@ def to_3_point3d_data(fn):
42
42
 
43
43
  def to_polygon_data(fn):
44
44
  """Decorate a function that returns a message to return it as a ``PolygonData`` object."""
45
- return _wraps(fn, _to_polygon_data)
45
+ return _wraps(fn, msg_to_polygon_data)
46
46
 
47
47
 
48
48
  def to_polygon_data_list(fn):
@@ -95,6 +95,11 @@ def to_mesh_op(fn):
95
95
  return _wraps(fn, _to_mesh_op)
96
96
 
97
97
 
98
+ def to_string_dict(fn):
99
+ """Decorate a function that returns a message to return it as a ``dict[str, str]``."""
100
+ return _wraps(fn, _to_string_dict)
101
+
102
+
98
103
  def _wraps(fn, wrapper_fn):
99
104
  if callable(fn):
100
105
 
@@ -107,7 +112,7 @@ def _wraps(fn, wrapper_fn):
107
112
  return wrapper_fn(fn)
108
113
 
109
114
 
110
- def _to_point_data(message):
115
+ def msg_to_point_data(message):
111
116
  """Convert a ``PointMessage`` object to a ``PointData`` object.
112
117
 
113
118
  Parameters
@@ -135,7 +140,7 @@ def _to_point_data_pair(message):
135
140
  -------
136
141
  tuple[:class:`.PointData`, :class:`.PointData`]
137
142
  """
138
- return _to_point_data(message.point_0), _to_point_data(message.point_1)
143
+ return msg_to_point_data(message.point_0), msg_to_point_data(message.point_1)
139
144
 
140
145
 
141
146
  def _to_point_data_list(message):
@@ -149,7 +154,7 @@ def _to_point_data_list(message):
149
154
  -------
150
155
  list[:class:`.PointData`]
151
156
  """
152
- return [_to_point_data(m) for m in message]
157
+ return [msg_to_point_data(m) for m in message]
153
158
 
154
159
 
155
160
  def _to_3_point3d_data(message):
@@ -183,7 +188,7 @@ def _to_point3d_data(message):
183
188
  return Point3DData(Value(message.x), Value(message.y), Value(message.z))
184
189
 
185
190
 
186
- def _to_polygon_data(message):
191
+ def msg_to_polygon_data(message):
187
192
  """Convert an arbitrary message to a ``PolygonData`` object if possible.
188
193
 
189
194
  Parameters
@@ -218,11 +223,11 @@ def _to_polygon_data_list(message):
218
223
  list[:class:`.PolygonData`]
219
224
  """
220
225
  if hasattr(message, "polygons"):
221
- return [_to_polygon_data(m) for m in message.polygons]
226
+ return [msg_to_polygon_data(m) for m in message.polygons]
222
227
  elif hasattr(message, "points"):
223
- return [_to_polygon_data(m) for m in message.points]
228
+ return [msg_to_polygon_data(m) for m in message.points]
224
229
  else:
225
- return [_to_polygon_data(m) for m in message]
230
+ return [msg_to_polygon_data(m) for m in message]
226
231
 
227
232
 
228
233
  def _to_box(message):
@@ -237,7 +242,7 @@ def _to_box(message):
237
242
  tuple[:class:`.PointData`, :class:`.PointData`]
238
243
  """
239
244
  if hasattr(message, "lower_left") and hasattr(message, "upper_right"):
240
- return _to_point_data(message.lower_left), _to_point_data(message.upper_right)
245
+ return msg_to_point_data(message.lower_left), msg_to_point_data(message.upper_right)
241
246
 
242
247
 
243
248
  def _to_circle(message):
@@ -254,7 +259,7 @@ def _to_circle(message):
254
259
  from ansys.edb.core.utility.value import Value
255
260
 
256
261
  if hasattr(message, "center") and hasattr(message, "radius"):
257
- return _to_point_data(message.center), Value(message.radius)
262
+ return msg_to_point_data(message.center), Value(message.radius)
258
263
 
259
264
 
260
265
  def _to_rlc(message):
@@ -498,3 +503,8 @@ def _to_mesh_op(message):
498
503
  for nli in message.net_layer_info:
499
504
  mesh_op.net_layer_info.append((nli.net, nli.layer, nli.is_sheet))
500
505
  return mesh_op
506
+
507
+
508
+ def _to_string_dict(message):
509
+ """Convert a message to a dictionary of strings."""
510
+ return {key: value for (key, value) in message.string_map}