gplugins 1.3.3__tar.gz → 1.3.4__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 (251) hide show
  1. {gplugins-1.3.3 → gplugins-1.3.4}/PKG-INFO +3 -3
  2. {gplugins-1.3.3 → gplugins-1.3.4}/README.md +1 -1
  3. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/__init__.py +1 -1
  4. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/netlist.py +13 -3
  5. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/write_sparameters_meep_mpi.py +1 -1
  6. {gplugins-1.3.3 → gplugins-1.3.4}/pyproject.toml +3 -4
  7. gplugins-1.3.3/gplugins/common/utils/get_component_with_local_layers.py +0 -128
  8. {gplugins-1.3.3 → gplugins-1.3.4}/LICENSE +0 -0
  9. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/__init__.py +0 -0
  10. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/base_models/__init__.py +0 -0
  11. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/base_models/component.py +0 -0
  12. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/base_models/simulation.py +0 -0
  13. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/config.py +0 -0
  14. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/types.py +0 -0
  15. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/__init__.py +0 -0
  16. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/add_simulation_markers.py +0 -0
  17. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/async_helpers.py +0 -0
  18. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/cache.py +0 -0
  19. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/convert_sparameters.py +0 -0
  20. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/disable_print.py +0 -0
  21. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/get_capacitance.py +0 -0
  22. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/get_component_with_net_layers.py +0 -0
  23. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/get_effective_indices.py +0 -0
  24. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/get_scattering.py +0 -0
  25. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/get_sparameters_path.py +0 -0
  26. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/optical_constants.py +0 -0
  27. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/parse_layer_stack.py +0 -0
  28. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/plot.py +0 -0
  29. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/plot_csv.py +0 -0
  30. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/port_symmetries.py +0 -0
  31. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py +0 -0
  32. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/devsim/__init__.py +0 -0
  33. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/devsim/doping.py +0 -0
  34. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/devsim/get_simulation.py +0 -0
  35. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/devsim/get_simulation_xsection.py +0 -0
  36. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/devsim/get_solver.py +0 -0
  37. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/devsim/test_devsim.py +0 -0
  38. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/elmer/__init__.py +0 -0
  39. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/elmer/electrostatic.sif.j2 +0 -0
  40. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/elmer/get_capacitance.py +0 -0
  41. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/elmer/tests/test_elmer.py +0 -0
  42. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/fdtdz/__init__.py +0 -0
  43. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/fdtdz/get_epsilon_fdtdz.py +0 -0
  44. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/fdtdz/get_ports_fdtdz.py +0 -0
  45. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/fdtdz/get_sparameters_fdtdz.py +0 -0
  46. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/femwell/__init__.py +0 -0
  47. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/femwell/mode_solver.py +0 -0
  48. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/femwell/solve_thermal.py +0 -0
  49. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/femwell/test_mode_solver.py +0 -0
  50. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/Makefile +0 -0
  51. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/__init__.py +0 -0
  52. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/b64.py +0 -0
  53. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/gfviz.py +0 -0
  54. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/serve.py +0 -0
  55. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/static/b64.js +0 -0
  56. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/static/schemedit.js +0 -0
  57. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/static/schemedit.wasm +0 -0
  58. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/templates/example.json +0 -0
  59. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gfviz/templates/index.html +0 -0
  60. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/__init__.py +0 -0
  61. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/get_material.py +0 -0
  62. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/get_meep_geometry.py +0 -0
  63. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/get_port_eigenmode.py +0 -0
  64. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/get_simulation.py +0 -0
  65. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/get_simulation_grating_farfield.py +0 -0
  66. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/get_simulation_grating_fiber.py +0 -0
  67. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/meep_adjoint_optimization.py +0 -0
  68. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_eigenmode.py +0 -0
  69. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_materials.py +0 -0
  70. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_sparameterNxN/test_sparameterNxN_crossing.csv +0 -0
  71. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_sparameterNxN/test_sparameterNxN_straight.csv +0 -0
  72. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameterNxN_crossing.csv +0 -0
  73. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameterNxN_straight.csv +0 -0
  74. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameterNxN_symmetries_straight.csv +0 -0
  75. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameter_straight_mpi.csv +0 -0
  76. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameter_straight_mpi_pool.csv +0 -0
  77. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_crossing_symmetric.csv +0 -0
  78. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight.csv +0 -0
  79. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_batch.csv +0 -0
  80. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_mpi.csv +0 -0
  81. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_mpi_pool.csv +0 -0
  82. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep/test_sparameters_straight_symmetric.csv +0 -0
  83. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/test_write_sparameters_meep.py +0 -0
  84. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/write_sparameters_grating.py +0 -0
  85. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/write_sparameters_meep.py +0 -0
  86. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmeep/write_sparameters_meep_batch.py +0 -0
  87. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/__init__.py +0 -0
  88. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/define_polysurfaces.py +0 -0
  89. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/get_mesh.py +0 -0
  90. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/parse_component.py +0 -0
  91. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/parse_gds.py +0 -0
  92. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/tests/test_custom_names.py +0 -0
  93. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/tests/test_meshing_2D.py +0 -0
  94. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/tests/test_meshing_3D.py +0 -0
  95. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/uz_xsection_mesh.py +0 -0
  96. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/xy_xsection_mesh.py +0 -0
  97. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/gmsh/xyz_mesh.py +0 -0
  98. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/__init__.py +0 -0
  99. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/dataprep/__init__.py +0 -0
  100. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/dataprep/regions.py +0 -0
  101. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/__init__.py +0 -0
  102. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/check_duplicated_cells.py +0 -0
  103. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/check_exclusion.py +0 -0
  104. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/check_inclusion.py +0 -0
  105. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/check_space.py +0 -0
  106. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/check_width.py +0 -0
  107. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/count_drc.py +0 -0
  108. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/samples/drc_errors.py +0 -0
  109. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/drc/write_drc.py +0 -0
  110. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/get_density.py +0 -0
  111. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/get_netlist.py +0 -0
  112. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/netlist_graph.py +0 -0
  113. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/netlist_spice_reader.py +0 -0
  114. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/plot_nets.py +0 -0
  115. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_dataprep_regions.py +0 -0
  116. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_density.py +0 -0
  117. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_drc_exclusion.py +0 -0
  118. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_drc_inclusion.py +0 -0
  119. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_drc_space.py +0 -0
  120. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_drc_width.py +0 -0
  121. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_global_density.py +0 -0
  122. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_netlist_spice_reader.py +0 -0
  123. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/klayout/tests/test_plot_nets.py +0 -0
  124. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/README.md +0 -0
  125. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/__init__.py +0 -0
  126. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/interconnect.py +0 -0
  127. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/mapping_ubcpdk.yml +0 -0
  128. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/read.py +0 -0
  129. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/settings.py +0 -0
  130. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/tests/test_lumerical_read_sparameters.py +0 -0
  131. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/tests/test_netlist.py +0 -0
  132. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/tests/test_netlist_get_routes.py +0 -0
  133. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/write_sparameters_lumerical.py +0 -0
  134. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/lumerical/write_sparameters_lumerical_components.py +0 -0
  135. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/__init__.py +0 -0
  136. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/inorganic.py +0 -0
  137. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/optical/__init__.py +0 -0
  138. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/optical/optical_mat.py +0 -0
  139. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/optical/refractive_index_info.py +0 -0
  140. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/semiconductor/__init__.py +0 -0
  141. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/materials/semiconductor/semiconductor_mat.py +0 -0
  142. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/meow/__init__.py +0 -0
  143. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/meow/meow_eme.py +0 -0
  144. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/meow/test_meow_simulation.py +0 -0
  145. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/__init__.py +0 -0
  146. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/coupler.py +0 -0
  147. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/find_coupling_vs_gap.py +0 -0
  148. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/find_mode_dispersion.py +0 -0
  149. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/find_modes.py +0 -0
  150. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/find_modes_cross_section.py +0 -0
  151. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/find_neff_ng_dw_dh.py +0 -0
  152. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/find_neff_vs_width.py +0 -0
  153. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/get_mode_solver_coupler.py +0 -0
  154. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/get_mode_solver_cross_section.py +0 -0
  155. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/get_mode_solver_rib.py +0 -0
  156. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/modes/neff_vs_width_nitride.csv +0 -0
  157. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/modes/neff_vs_width_rib.csv +0 -0
  158. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/modes/neff_vs_width_strip.csv +0 -0
  159. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/neff_convergence_test.py +0 -0
  160. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/neff_vs_width.csv +0 -0
  161. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/overlap.py +0 -0
  162. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_dw_dh/test_dw_dh.csv +0 -0
  163. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_dw_dh/test_dw_dh.obtained.csv +0 -0
  164. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_dw_dh/test_dw_dh_dispersion.csv +0 -0
  165. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_dw_dh.py +0 -0
  166. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_find_modes.py +0 -0
  167. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_find_modes_dispersion.py +0 -0
  168. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_neff_vs_width/test_neff_vs_width.csv +0 -0
  169. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_neff_vs_width/test_neff_vs_width.obtained.csv +0 -0
  170. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/tests/test_neff_vs_width.py +0 -0
  171. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/types.py +0 -0
  172. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/modes/waveguide.py +0 -0
  173. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/palace/__init__.py +0 -0
  174. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/palace/driven.json +0 -0
  175. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/palace/electrostatic.json +0 -0
  176. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/palace/get_capacitance.py +0 -0
  177. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/palace/get_scattering.py +0 -0
  178. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/palace/tests/test_palace.py +0 -0
  179. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/path_length_analysis/__init__.py +0 -0
  180. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/path_length_analysis/path_length_analysis.py +0 -0
  181. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/path_length_analysis/path_length_analysis_from_gds.py +0 -0
  182. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/path_length_analysis/test_pathlength_extraction.py +0 -0
  183. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/photonic_circuit_models/__init__.py +0 -0
  184. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/photonic_circuit_models/coupler.py +0 -0
  185. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/photonic_circuit_models/fsr.py +0 -0
  186. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/photonic_circuit_models/heater.py +0 -0
  187. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/photonic_circuit_models/mzi.py +0 -0
  188. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/photonic_circuit_models/ring.py +0 -0
  189. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/__init__.py +0 -0
  190. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/diffusion.py +0 -0
  191. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/implant_tables.py +0 -0
  192. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/pysrim.py +0 -0
  193. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/silicon.py +0 -0
  194. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/skew/antimony_si_skew.csv +0 -0
  195. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/skew/arsenic_si_skew.csv +0 -0
  196. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/skew/boron_si_skew.csv +0 -0
  197. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/process/skew/phosphorus_si_skew.csv +0 -0
  198. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/__init__.py +0 -0
  199. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/build_model.py +0 -0
  200. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/integrations/__init__.py +0 -0
  201. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/integrations/femwell_waveguide_model.py +0 -0
  202. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/integrations/meep_FDTD_model.py +0 -0
  203. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/integrations/meow_eme_model.py +0 -0
  204. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/interpolators.py +0 -0
  205. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/mlp.py +0 -0
  206. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/models.py +0 -0
  207. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/parameter.py +0 -0
  208. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/plot_model.py +0 -0
  209. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/read.py +0 -0
  210. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/tests/test_mzi.py +0 -0
  211. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/tests/test_mzi_lattice/test_mzi_lattice.obtained.yml +0 -0
  212. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/tests/test_mzi_lattice/test_mzi_lattice.yml +0 -0
  213. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/tests/test_mzi_lattice.py +0 -0
  214. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sax/tests/test_parameters.py +0 -0
  215. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sentaurus/mask_sde.py +0 -0
  216. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sentaurus/mask_sprocess.py +0 -0
  217. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sentaurus/sde.py +0 -0
  218. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sentaurus/sdevice.py +0 -0
  219. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sentaurus/sprocess.py +0 -0
  220. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/sentaurus/svisual.py +0 -0
  221. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/spice/__init__.py +0 -0
  222. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/spice/spice_to_yaml.py +0 -0
  223. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/spice/tests/__init__.py +0 -0
  224. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/spice/tests/test_interconnect.py +0 -0
  225. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/__init__.py +0 -0
  226. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/component.py +0 -0
  227. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/get_results.py +0 -0
  228. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/get_simulation_grating_coupler.py +0 -0
  229. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/materials.py +0 -0
  230. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/modes.py +0 -0
  231. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_component_modeler.py +0 -0
  232. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_materials.py +0 -0
  233. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_modes/test_sweep_width.csv +0 -0
  234. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_modes/test_sweep_width.obtained.csv +0 -0
  235. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_modes_coupler.py +0 -0
  236. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_modes_waveguide.py +0 -0
  237. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_plot_simulation_grating_coupler.py +0 -0
  238. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/test_write_sparameters.py +0 -0
  239. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/tests_sparameters/sim_ref.yaml +0 -0
  240. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters.py +0 -0
  241. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters_grating_coupler.py +0 -0
  242. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/types.py +0 -0
  243. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/util.py +0 -0
  244. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/tidy3d/write_sparameters_grating_coupler.py +0 -0
  245. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/typings.py +0 -0
  246. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/vlsir/__init__.py +0 -0
  247. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/vlsir/export_netlist.py +0 -0
  248. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/vlsir/tests/resources/pads_correct.cir +0 -0
  249. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/vlsir/tests/resources/pads_correct.scs +0 -0
  250. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/vlsir/tests/resources/pads_correct.sp +0 -0
  251. {gplugins-1.3.3 → gplugins-1.3.4}/gplugins/vlsir/tests/test_vlsir.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gplugins
3
- Version: 1.3.3
3
+ Version: 1.3.4
4
4
  Summary: gdsfactory plugins
5
5
  Keywords: python
6
6
  Author-email: gdsfactory <contact@gdsfactory.com>
@@ -13,7 +13,6 @@ Classifier: Operating System :: OS Independent
13
13
  License-File: LICENSE
14
14
  Requires-Dist: gdsfactory>=9.3.5
15
15
  Requires-Dist: pint
16
- Requires-Dist: gdstk
17
16
  Requires-Dist: tqdm
18
17
  Requires-Dist: numpy
19
18
  Requires-Dist: xarray==2025.1.2
@@ -73,6 +72,7 @@ Requires-Dist: tidy3d>=2.8.2,<2.9 ; extra == "tidy3d"
73
72
  Requires-Dist: meshio ; extra == "tidy3d"
74
73
  Requires-Dist: numpy ; extra == "tidy3d"
75
74
  Requires-Dist: meshwell~=1.0.7 ; extra == "tidy3d"
75
+ Requires-Dist: gdstk ; extra == "tidy3d"
76
76
  Requires-Dist: vlsir ; extra == "vlsir"
77
77
  Requires-Dist: vlsirtools ; extra == "vlsir"
78
78
  Provides-Extra: dev
@@ -90,7 +90,7 @@ Provides-Extra: schematic
90
90
  Provides-Extra: tidy3d
91
91
  Provides-Extra: vlsir
92
92
 
93
- # gplugins 1.3.3
93
+ # gplugins 1.3.4
94
94
 
95
95
  [![docs](https://github.com/gdsfactory/gplugins/actions/workflows/pages.yml/badge.svg)](https://gdsfactory.github.io/gplugins/)
96
96
  [![PyPI](https://img.shields.io/pypi/v/gplugins)](https://pypi.org/project/gplugins/)
@@ -1,4 +1,4 @@
1
- # gplugins 1.3.3
1
+ # gplugins 1.3.4
2
2
 
3
3
  [![docs](https://github.com/gdsfactory/gplugins/actions/workflows/pages.yml/badge.svg)](https://gdsfactory.github.io/gplugins/)
4
4
  [![PyPI](https://img.shields.io/pypi/v/gplugins)](https://pypi.org/project/gplugins/)
@@ -1,6 +1,6 @@
1
1
  """gplugins - gdsfactory plugins."""
2
2
 
3
- __version__ = "1.3.3"
3
+ __version__ = "1.3.4"
4
4
 
5
5
  import pathlib
6
6
 
@@ -1,9 +1,9 @@
1
1
  from functools import lru_cache
2
2
 
3
3
  import gdsfactory as gf
4
- import gdstk
5
4
  import numpy as np
6
5
  import shapely.geometry as sg
6
+ import shapely.ops as so
7
7
  from natsort import natsorted
8
8
 
9
9
 
@@ -225,10 +225,12 @@ def get_icon_poly(name):
225
225
  polys = min(polys_priority.items(), key=lambda x: x[0])[1]
226
226
  if not polys:
227
227
  return default
228
- polys = gdstk.boolean(polys, [], operation="or")
228
+ polys = [sg.Polygon(p) for p in polys]
229
+ polys = so.unary_union(polys)
230
+ polys = _extract_vertices(polys)
229
231
  if not polys:
230
232
  return default
231
- poly = rdp(polys[0].points)
233
+ poly = rdp(polys[0])
232
234
  if (poly.shape[0] < 3) or (poly.shape[0] > 100):
233
235
  return default
234
236
  poly = (poly - c.bbox_np()[0:1]) / (c.bbox_np()[1:2] - c.bbox_np()[0:1])
@@ -242,6 +244,14 @@ def get_icon_poly(name):
242
244
  return poly
243
245
 
244
246
 
247
+ def _extract_vertices(geometry):
248
+ if geometry.geom_type == 'Polygon':
249
+ return [list(geometry.exterior.coords)]
250
+ elif geometry.geom_type == 'MultiPolygon':
251
+ return [list(p.exterior.coords) for p in geometry.geoms]
252
+ else:
253
+ raise TypeError(f"Unhandled geometry type: {geometry.geom_type}")
254
+
245
255
  def rdp(poly, eps=0.1):
246
256
  poly = np.asarray(poly)
247
257
  if not poly.shape:
@@ -164,7 +164,7 @@ def write_sparameters_meep_mpi(
164
164
  with open(parameters_file, "wb") as outp:
165
165
  pickle.dump(settings, outp, pickle.HIGHEST_PROTOCOL)
166
166
 
167
- # Save component to disk through gds for gdstk compatibility
167
+ # Save component to disk through gds
168
168
  component_file = tempfile.with_suffix(".gds")
169
169
  component.write_gds(component_file, with_metadata=True)
170
170
 
@@ -15,7 +15,6 @@ classifiers = [
15
15
  dependencies = [
16
16
  "gdsfactory>=9.3.5",
17
17
  "pint",
18
- "gdstk",
19
18
  "tqdm",
20
19
  "numpy",
21
20
  "xarray==2025.1.2"
@@ -26,7 +25,7 @@ license = {file = "LICENSE"}
26
25
  name = "gplugins"
27
26
  readme = "README.md"
28
27
  requires-python = ">=3.11"
29
- version = "1.3.3"
28
+ version = "1.3.4"
30
29
 
31
30
  [project.optional-dependencies]
32
31
  dev = [
@@ -71,7 +70,7 @@ sax = [
71
70
  "ray"
72
71
  ]
73
72
  schematic = ["bokeh", "ipywidgets", "natsort"]
74
- tidy3d = ["tidy3d>=2.8.2,<2.9", "meshio", "numpy", "meshwell~=1.0.7"]
73
+ tidy3d = ["tidy3d>=2.8.2,<2.9", "meshio", "numpy", "meshwell~=1.0.7", "gdstk"]
75
74
  vlsir = ["vlsir", "vlsirtools"]
76
75
 
77
76
  [tool.codespell]
@@ -193,7 +192,7 @@ message_template = "Bump to {new_version}"
193
192
  tag_template = "v{new_version}"
194
193
 
195
194
  [tool.tbump.version]
196
- current = "1.3.3"
195
+ current = "1.3.4"
197
196
  regex = '''
198
197
  (?P<major>\d+)
199
198
  \.
@@ -1,128 +0,0 @@
1
- import copy
2
- from dataclasses import dataclass
3
-
4
- import gdsfactory as gf
5
- import gdstk
6
- from gdsfactory.component import Component
7
- from gdsfactory.pdk import get_layer
8
- from gdsfactory.typings import Layer
9
- from gdstk import Polygon
10
-
11
-
12
- @dataclass
13
- class LocalMapping:
14
- """Dataclass to map polygons to new layers.
15
-
16
- Arguments:
17
- new_layer_name: new layer name for the updated LayerStack
18
- new_layer_number: new layer number for the updated LayerStack and GDS
19
- old_layer_name: original LayerStack key entry
20
- domains: list of gdstk polygons; Component polygons inside these domains are mapped to new_layer
21
- """
22
-
23
- new_layer_name: str
24
- new_layer_number: Layer
25
- old_layer_name: str
26
- domains: list[Polygon]
27
-
28
-
29
- def get_component_with_local_layers(
30
- component,
31
- layer_stack,
32
- mappings: list[LocalMapping],
33
- precision: float = 1e-4,
34
- ) -> Component:
35
- """Returns a component where polygons within "domains" belonging to "old_layer_name" are remapped to "new_layer_name" (with layer details copied from old_layer), and polygons outside the domain are kept on "old_layer_name".
36
-
37
- Args:
38
- component: to process.
39
- layer_stack: to process.
40
- mappings: list of LocalMapping objects.
41
- precision: of the boolean operations.
42
- """
43
- # Initialize returned component and layerstack
44
- local_component = component.copy()
45
- local_component.flatten()
46
- local_layer_stack = layer_stack.model_copy()
47
-
48
- for mapping in mappings:
49
- # Create the new layer
50
- old_layer_number = layer_stack.layers[mapping.old_layer_name].layer
51
- new_layer = copy.deepcopy(layer_stack.layers[mapping.old_layer_name])
52
- new_layer.layer = mapping.new_layer_number
53
- local_layer_stack.layers[mapping.new_layer_name] = new_layer
54
-
55
- # Assign the polygons
56
- for domain in mapping.domains:
57
- layer_polygons = local_component.get_polygons(by_spec=True)[
58
- old_layer_number
59
- ]
60
- local_component.remove_layers([old_layer_number])
61
- gds_layer, gds_datatype = tuple(get_layer(old_layer_number))
62
- for layer_polygon in layer_polygons:
63
- # Polygons inside the domain
64
- p_inside = gdstk.boolean(
65
- operand1=gdstk.Polygon(layer_polygon),
66
- operand2=domain,
67
- operation="and",
68
- precision=precision,
69
- layer=gds_layer,
70
- datatype=gds_datatype,
71
- )
72
- # Outside the domain
73
- p_outside = gdstk.boolean(
74
- operand1=gdstk.Polygon(layer_polygon),
75
- operand2=domain,
76
- operation="not",
77
- precision=precision,
78
- layer=gds_layer,
79
- datatype=gds_datatype,
80
- )
81
- if p_inside:
82
- local_component.add_polygon(
83
- p_inside, layer=mapping.new_layer_number
84
- )
85
- if p_outside:
86
- local_component.add_polygon(p_outside, layer=old_layer_number)
87
-
88
- return local_component, local_layer_stack
89
-
90
-
91
- if __name__ == "__main__":
92
- c = gf.components.spiral_racetrack_heater_metal()
93
-
94
- layer_stack = gf.generic_tech.LAYER_STACK
95
-
96
- mapping1 = LocalMapping(
97
- new_layer_name="test1",
98
- old_layer_name="heater",
99
- domains=[
100
- gdstk.rectangle(
101
- corner1=(0, -15),
102
- corner2=(10, -60),
103
- ),
104
- gdstk.rectangle(
105
- corner1=(20, -15),
106
- corner2=(30, -60),
107
- ),
108
- ],
109
- new_layer_number=(10002, 0),
110
- )
111
-
112
- mapping2 = LocalMapping(
113
- new_layer_name="test2",
114
- old_layer_name="heater",
115
- domains=[gdstk.ellipse(center=(30, 10), radius=10)],
116
- new_layer_number=(10003, 0),
117
- )
118
-
119
- c_local, layer_stack_local = get_component_with_local_layers(
120
- c,
121
- layer_stack,
122
- mappings=[mapping1, mapping2],
123
- )
124
-
125
- print(layer_stack_local.layers.keys())
126
- print(layer_stack_local.layers["test1"])
127
-
128
- c_local.show()
File without changes
File without changes