ubcpdk 2.6.2__tar.gz → 2.7.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.
Files changed (210) hide show
  1. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/PKG-INFO +7 -6
  2. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/README.md +1 -1
  3. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/pyproject.toml +6 -5
  4. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/__init__.py +1 -1
  5. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/components.py +20 -16
  6. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/config.py +5 -15
  7. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/pymacros/set_menus.lym +1 -1
  8. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/LICENSE +0 -0
  9. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/README.md +0 -0
  10. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/__init__.py +0 -0
  11. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/chop.py +0 -0
  12. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/convert_to_pandas.py +0 -0
  13. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/dbr.md +0 -0
  14. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/dbr.py +0 -0
  15. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/find_bandwidth.py +0 -0
  16. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/read_mat.py +0 -0
  17. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/remove_baseline.py +0 -0
  18. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/data/windowed_mean.py +0 -0
  19. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1310_ANT.GDS +0 -0
  20. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ANT/ebeam_splitter_swg_assist_te1550_ANT.GDS +0 -0
  21. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/Alignment_Marker.GDS +0 -0
  22. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/GCs_BB.gds +0 -0
  23. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_adiabatic_te1550.gds +0 -0
  24. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_adiabatic_tm1550.gds +0 -0
  25. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_bdc_te1550.gds +0 -0
  26. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_crossing4.gds +0 -0
  27. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_gc_te1550.gds +0 -0
  28. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_gc_tm1550.gds +0 -0
  29. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1310.gds +0 -0
  30. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_splitter_swg_assist_te1550.gds +0 -0
  31. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_terminator_te1310.gds +0 -0
  32. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_terminator_te1550.gds +0 -0
  33. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_terminator_tm1550.gds +0 -0
  34. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_y_1550.gds +0 -0
  35. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/ebeam_y_adiabatic.gds +0 -0
  36. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/taper_si_simm_1310.gds +0 -0
  37. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam/taper_si_simm_1550.gds +0 -0
  38. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/Alignment_Marker.GDS +0 -0
  39. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/Packaging_FibreArray_8ch.gds +0 -0
  40. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/SEM_example.gds +0 -0
  41. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_BondPad.gds +0 -0
  42. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_bdc_tm1550.gds +0 -0
  43. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310.gds +0 -0
  44. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_8deg.gds +0 -0
  45. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1310_broadband.gds +0 -0
  46. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_90nmSlab.gds +0 -0
  47. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_gc_te1550_broadband.GDS +0 -0
  48. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_splitter_adiabatic_swg_te1550.gds +0 -0
  49. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_swg_edgecoupler.gds +0 -0
  50. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_terminator_te1310.gds +0 -0
  51. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/ebeam_y_adiabatic_1310.gds +0 -0
  52. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/metal_via.gds +0 -0
  53. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1310.gds +0 -0
  54. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/photonic_wirebond_surfacetaper_1550.gds +0 -0
  55. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/siepic_o_gc_te1270_BB.GDS +0 -0
  56. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/siepic_o_pwbstlas_si_BB.GDS +0 -0
  57. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_Beta/thermal_phase_shifters.gds +0 -0
  58. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/EBeam_SiN/ebeam_BondPad.gds +0 -0
  59. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/Packaging_FibreArray_8ch.gds +0 -0
  60. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/SEM_example.gds +0 -0
  61. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_BondPad.gds +0 -0
  62. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_adiabatic_te1550.gds +0 -0
  63. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_adiabatic_tm1550.gds +0 -0
  64. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_bdc_te1550.gds +0 -0
  65. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_bdc_tm1550.gds +0 -0
  66. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_crossing4.gds +0 -0
  67. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_te1310.gds +0 -0
  68. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_te1310_8deg.gds +0 -0
  69. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_te1310_broadband.gds +0 -0
  70. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_te1550.gds +0 -0
  71. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_te1550_90nmSlab.gds +0 -0
  72. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_te1550_broadband.gds +0 -0
  73. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_gc_tm1550.gds +0 -0
  74. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_splitter_adiabatic_swg_te1550.gds +0 -0
  75. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_splitter_swg_assist_te1310.gds +0 -0
  76. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_splitter_swg_assist_te1550.gds +0 -0
  77. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_swg_edgecoupler.gds +0 -0
  78. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_terminator_te1310.gds +0 -0
  79. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_terminator_te1550.gds +0 -0
  80. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_terminator_tm1550.gds +0 -0
  81. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_y_1550.gds +0 -0
  82. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_y_adiabatic.gds +0 -0
  83. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/ebeam_y_adiabatic_1310.gds +0 -0
  84. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/metal_via.gds +0 -0
  85. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/photonic_wirebond_surfacetaper_1310.gds +0 -0
  86. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/photonic_wirebond_surfacetaper_1550.gds +0 -0
  87. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/gds/thermal_phase_shifters.gds +0 -0
  88. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/import_gds.py +0 -0
  89. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/import_pdk.py +0 -0
  90. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/drc/ELEC463 Doping.lydrc +0 -0
  91. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/drc/ELEC463 Metal Heater.lydrc +0 -0
  92. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/drc/SiEPIC_EBeam_DRC.lyp +0 -0
  93. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/layers.lyp +0 -0
  94. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/layers2.lyp +0 -0
  95. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/pymacros/klayout_Library.lym +0 -0
  96. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/klayout/tech/tech.lyt +0 -0
  97. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/layers.yaml +0 -0
  98. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/models.py +0 -0
  99. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num10_1272.mat +0 -0
  100. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num11_1273.mat +0 -0
  101. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num12_1271.mat +0 -0
  102. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num13_1278.mat +0 -0
  103. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num14_1276.mat +0 -0
  104. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num15_1277.mat +0 -0
  105. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num16_1275.mat +0 -0
  106. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num17_1282.mat +0 -0
  107. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num18_1280.mat +0 -0
  108. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num19_1281.mat +0 -0
  109. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num1_1266.mat +0 -0
  110. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num20_1279.mat +0 -0
  111. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num21_1286.mat +0 -0
  112. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num22_1284.mat +0 -0
  113. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num23_1285.mat +0 -0
  114. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num24_1283.mat +0 -0
  115. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num2_1264.mat +0 -0
  116. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num3_1265.mat +0 -0
  117. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num4_1263.mat +0 -0
  118. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num5_1270.mat +0 -0
  119. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num6_1268.mat +0 -0
  120. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num7_1269.mat +0 -0
  121. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num8_1267.mat +0 -0
  122. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet1Num9_1274.mat +0 -0
  123. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num10_1248.mat +0 -0
  124. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num11_1249.mat +0 -0
  125. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num12_1247.mat +0 -0
  126. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num13_1254.mat +0 -0
  127. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num14_1252.mat +0 -0
  128. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num15_1253.mat +0 -0
  129. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num16_1251.mat +0 -0
  130. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num17_1258.mat +0 -0
  131. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num18_1256.mat +0 -0
  132. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num19_1257.mat +0 -0
  133. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num1_1242.mat +0 -0
  134. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num20_1255.mat +0 -0
  135. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num21_1262.mat +0 -0
  136. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num22_1260.mat +0 -0
  137. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num23_1261.mat +0 -0
  138. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num24_1259.mat +0 -0
  139. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num2_1240.mat +0 -0
  140. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num3_1241.mat +0 -0
  141. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num4_1239.mat +0 -0
  142. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num5_1246.mat +0 -0
  143. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num6_1244.mat +0 -0
  144. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num7_1245.mat +0 -0
  145. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num8_1243.mat +0 -0
  146. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet2Num9_1250.mat +0 -0
  147. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num10_1200.mat +0 -0
  148. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num11_1201.mat +0 -0
  149. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num12_1199.mat +0 -0
  150. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num13_1206.mat +0 -0
  151. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num14_1204.mat +0 -0
  152. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num15_1205.mat +0 -0
  153. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num16_1203.mat +0 -0
  154. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num17_1210.mat +0 -0
  155. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num18_1208.mat +0 -0
  156. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num19_1209.mat +0 -0
  157. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num1_1194.mat +0 -0
  158. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num20_1207.mat +0 -0
  159. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num21_1214.mat +0 -0
  160. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num22_1212.mat +0 -0
  161. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num23_1213.mat +0 -0
  162. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num24_1211.mat +0 -0
  163. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num2_1192.mat +0 -0
  164. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num3_1193.mat +0 -0
  165. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num4_1191.mat +0 -0
  166. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num5_1198.mat +0 -0
  167. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num6_1196.mat +0 -0
  168. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num7_1197.mat +0 -0
  169. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num8_1195.mat +0 -0
  170. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/bragg/ELEC_413_lukasc_BraggSet4Num9_1202.mat +0 -0
  171. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/EB486A_URChip3Coords.txt +0 -0
  172. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/EB486A_URChip3Coords1.txt +0 -0
  173. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/LukasChrostowski_MZI1_135_Scan1.mat +0 -0
  174. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/LukasChrostowski_MZI2_136_Scan1.mat +0 -0
  175. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/README.md +0 -0
  176. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI17_265_Scan1.mat +0 -0
  177. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI1_272_Scan1.mat +0 -0
  178. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI1_273_Scan1.mat +0 -0
  179. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI2_271_Scan1.mat +0 -0
  180. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI3_270_Scan1.mat +0 -0
  181. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI4_269_Scan1.mat +0 -0
  182. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI5_268_Scan1.mat +0 -0
  183. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI6_267_Scan1.mat +0 -0
  184. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/mzi/ZiheGao_MZI8_266_Scan1.mat +0 -0
  185. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g100_1495.mat +0 -0
  186. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g150_1494.mat +0 -0
  187. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g200_1493.mat +0 -0
  188. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER10g50_1496.mat +0 -0
  189. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g100_1498.mat +0 -0
  190. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTER3g150_1497.mat +0 -0
  191. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g150_1492.mat +0 -0
  192. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g200_1491.mat +0 -0
  193. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/LukasC_RingDoubleTMR30g250_1490.mat +0 -0
  194. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/data/ring/lukasc_RingResonator.txt +0 -0
  195. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_circuit_simulations.py +0 -0
  196. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_rings.py +0 -0
  197. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_ubc1.py +0 -0
  198. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_ubc2.py +0 -0
  199. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_ubc3.py +0 -0
  200. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_ubc4.py +0 -0
  201. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/samples/test_ubc5.py +0 -0
  202. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/__init__.py +0 -0
  203. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/circuits/__init__.py +0 -0
  204. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/circuits/mzi_spectrum.py +0 -0
  205. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/circuits/waveguide.py +0 -0
  206. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/find_neff_vs_width.csv +0 -0
  207. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/lumerical/EBeam.cml +0 -0
  208. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/lumerical/lumerical_process_file.lbr +0 -0
  209. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/simulation/modes_waveguide.py +0 -0
  210. {ubcpdk-2.6.2 → ubcpdk-2.7.0}/ubcpdk/tech.py +0 -0
@@ -1,16 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: ubcpdk
3
- Version: 2.6.2
3
+ Version: 2.7.0
4
4
  Summary: ubcpdk pdk
5
5
  Keywords: python
6
6
  Author-email: gdsfactory <contact@gdsfactory.com>
7
- Requires-Python: >=3.11
7
+ Requires-Python: >=3.10
8
8
  Description-Content-Type: text/markdown
9
9
  Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3.10
10
11
  Classifier: Programming Language :: Python :: 3.11
11
12
  Classifier: Programming Language :: Python :: 3.12
12
13
  Classifier: Operating System :: OS Independent
13
- Requires-Dist: gdsfactory~=8.8.2
14
+ Requires-Dist: gdsfactory~=8.18.0
14
15
  Requires-Dist: gplugins[sax]>=1,<2
15
16
  Requires-Dist: pytest ; extra == "dev"
16
17
  Requires-Dist: pytest-cov ; extra == "dev"
@@ -18,11 +19,11 @@ Requires-Dist: pytest_regressions ; extra == "dev"
18
19
  Requires-Dist: pre-commit ; extra == "dev"
19
20
  Requires-Dist: autodoc_pydantic ; extra == "docs"
20
21
  Requires-Dist: jupytext ; extra == "docs"
21
- Requires-Dist: jupyter-book==1.0.2 ; extra == "docs"
22
+ Requires-Dist: jupyter-book==1.0.3 ; extra == "docs"
22
23
  Provides-Extra: dev
23
24
  Provides-Extra: docs
24
25
 
25
- # ubcpdk (SiEPIC Ebeam PDK) 2.6.2
26
+ # ubcpdk (SiEPIC Ebeam PDK) 2.7.0
26
27
 
27
28
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/gdsfactory/binder-sandbox/HEAD)
28
29
  [![pypi](https://img.shields.io/pypi/v/ubcpdk)](https://pypi.org/project/ubcpdk/)
@@ -1,4 +1,4 @@
1
- # ubcpdk (SiEPIC Ebeam PDK) 2.6.2
1
+ # ubcpdk (SiEPIC Ebeam PDK) 2.7.0
2
2
 
3
3
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/gdsfactory/binder-sandbox/HEAD)
4
4
  [![pypi](https://img.shields.io/pypi/v/ubcpdk)](https://pypi.org/project/ubcpdk/)
@@ -10,12 +10,13 @@ authors = [
10
10
  ]
11
11
  classifiers = [
12
12
  "License :: OSI Approved :: MIT License",
13
+ "Programming Language :: Python :: 3.10",
13
14
  "Programming Language :: Python :: 3.11",
14
15
  "Programming Language :: Python :: 3.12",
15
16
  "Operating System :: OS Independent"
16
17
  ]
17
18
  dependencies = [
18
- "gdsfactory~=8.8.2",
19
+ "gdsfactory~=8.18.0",
19
20
  "gplugins[sax]>=1,<2"
20
21
  ]
21
22
  description = "ubcpdk pdk"
@@ -23,8 +24,8 @@ keywords = ["python"]
23
24
  license = {file = "LICENSE"}
24
25
  name = "ubcpdk"
25
26
  readme = "README.md"
26
- requires-python = ">=3.11"
27
- version = "2.6.2"
27
+ requires-python = ">=3.10"
28
+ version = "2.7.0"
28
29
 
29
30
  [project.optional-dependencies]
30
31
  dev = [
@@ -36,7 +37,7 @@ dev = [
36
37
  docs = [
37
38
  "autodoc_pydantic",
38
39
  "jupytext",
39
- "jupyter-book==1.0.2"
40
+ "jupyter-book==1.0.3"
40
41
  ]
41
42
 
42
43
  [tool.codespell]
@@ -130,7 +131,7 @@ message_template = "Bump to {new_version}"
130
131
  tag_template = "v{new_version}"
131
132
 
132
133
  [tool.tbump.version]
133
- current = "2.6.2"
134
+ current = "2.7.0"
134
135
  regex = '''
135
136
  (?P<major>\d+)
136
137
  \.
@@ -19,7 +19,7 @@ except ImportError:
19
19
  models = {}
20
20
 
21
21
 
22
- __version__ = "2.6.2"
22
+ __version__ = "2.7.0"
23
23
 
24
24
  __all__ = [
25
25
  "CONFIG",
@@ -9,7 +9,6 @@ from gdsfactory.typings import (
9
9
  ComponentSpec,
10
10
  CrossSectionSpec,
11
11
  Optional,
12
- Port,
13
12
  )
14
13
 
15
14
  from ubcpdk import tech
@@ -433,8 +432,7 @@ def mzi_heater(delta_length=10.0, length_x=320) -> gf.Component:
433
432
  Args:
434
433
  delta_length: extra length for mzi arms.
435
434
  """
436
- c = _mzi_heater(delta_length=delta_length, length_x=length_x)
437
- return c
435
+ return _mzi_heater(delta_length=delta_length, length_x=length_x)
438
436
 
439
437
 
440
438
  @gf.cell
@@ -447,7 +445,6 @@ def via_stack_heater_mtop(size=(10, 10)) -> gf.Component:
447
445
 
448
446
 
449
447
  def get_input_label_text(
450
- port: Port,
451
448
  gc: ComponentReference,
452
449
  component_name: Optional[str] = None,
453
450
  username: str = CONFIG.username,
@@ -455,7 +452,6 @@ def get_input_label_text(
455
452
  """Return label for port and a grating coupler.
456
453
 
457
454
  Args:
458
- port: component port.
459
455
  gc: grating coupler reference.
460
456
  component_name: optional component name.
461
457
  username: for the label.
@@ -482,7 +478,6 @@ def add_fiber_array(
482
478
  component_name: Optional[str] = None,
483
479
  gc_port_name: str = "o1",
484
480
  with_loopback: bool = False,
485
- optical_routing_type: int = 1,
486
481
  fanout_length: float = 0.0,
487
482
  grating_coupler: ComponentSpec = gc_te1550,
488
483
  cross_section: CrossSectionSpec = "strip",
@@ -500,7 +495,6 @@ def add_fiber_array(
500
495
  component_name: for the label.
501
496
  gc_port_name: grating coupler input port name 'o1'.
502
497
  with_loopback: True, adds loopback structures.
503
- optical_routing_type: None: autoselection, 0: no extension.
504
498
  fanout_length: None # if None, automatic calculation of fanout length.
505
499
  grating_coupler: grating coupler instance, function or list of functions.
506
500
  cross_section: spec.
@@ -519,7 +513,6 @@ def add_fiber_array(
519
513
  grating_coupler=grating_coupler,
520
514
  gc_port_name=gc_port_name,
521
515
  with_loopback=with_loopback,
522
- optical_routing_type=optical_routing_type,
523
516
  fanout_length=fanout_length,
524
517
  cross_section=cross_section,
525
518
  taper=taper,
@@ -528,6 +521,11 @@ def add_fiber_array(
528
521
  ref.drotate(-90)
529
522
  c.add_ports(ref.ports)
530
523
  c.copy_child_info(component)
524
+
525
+ component_name = component_name or component.name
526
+ grating_coupler = gf.get_component(grating_coupler)
527
+ label = get_input_label_text(gc=grating_coupler, component_name=component_name)
528
+ c.add_label(position=c.ports["o1"].dcenter, text=label, layer=LAYER.TEXT)
531
529
  return c
532
530
 
533
531
 
@@ -642,7 +640,7 @@ def dbr_cavity(dbr=dbr, coupler="coupler", **kwargs) -> gf.Component:
642
640
  return gf.components.cavity(component=dbr, coupler=coupler)
643
641
 
644
642
 
645
- @cache
643
+ @gf.cell
646
644
  def dbr_cavity_te(component="dbr_cavity", **kwargs) -> gf.Component:
647
645
  component = gf.get_component(component, **kwargs)
648
646
  return add_fiber_array(component=component)
@@ -789,7 +787,7 @@ def add_label_electrical(component: Component, text: str, port_name: str = "e2")
789
787
  raise ValueError(f"No port {port_name!r} in {port_names}")
790
788
 
791
789
  component.add_label(
792
- text=text, position=component.ports[port_name].center, layer=LAYER.TEXT
790
+ text=text, position=component.ports[port_name].dcenter, layer=LAYER.TEXT
793
791
  )
794
792
  return component
795
793
 
@@ -815,6 +813,8 @@ def add_fiber_array_pads_rf(
815
813
  component: ComponentSpec = "ring_single_heater",
816
814
  username: str = CONFIG.username,
817
815
  orientation: float = 0,
816
+ pad_yspacing: float = 50,
817
+ component_name: Optional[str] = None,
818
818
  **kwargs,
819
819
  ) -> Component:
820
820
  """Returns fiber array with label and electrical pads.
@@ -823,16 +823,21 @@ def add_fiber_array_pads_rf(
823
823
  component: to add fiber array and pads.
824
824
  username: for the label.
825
825
  orientation: for adding pads.
826
+ pad_yspacing: for adding pads.
827
+ component_name: for the label.
826
828
  kwargs: for add_fiber_array.
827
829
  """
830
+
828
831
  c0 = gf.get_component(component)
829
- # text = f"elec_{username}-{clean_name(c0.name)}_G"
830
- # add_label = partial(add_label_electrical, text=text)
831
- c1 = add_pads_rf(component=c0, orientation=orientation)
832
+ component_name = component_name or c0.name
833
+ component_name = clean_name(component_name)
834
+ text = f"elec_{username}-{component_name}_G"
835
+ c1 = add_pads_rf(component=c0, orientation=orientation, spacing=(0, pad_yspacing))
832
836
 
837
+ add_label_electrical(component=c1, text=text)
833
838
  # ports_names = [port.name for port in c0.ports if port.orientation == orientation]
834
839
  # c1 = add_pads_top(component=c0, port_names=ports_names)
835
- return add_fiber_array(component=c1, **kwargs)
840
+ return add_fiber_array(component=c1, component_name=component_name, **kwargs)
836
841
 
837
842
 
838
843
  @cache
@@ -885,12 +890,11 @@ if __name__ == "__main__":
885
890
  # c = spiral()
886
891
  # c = pad_array()
887
892
  # c = bend_euler()
888
- c = ebeam_y_1550()
889
- c = ebeam_y_1550()
890
893
  # c = mzi_heater()
891
894
  # c = ring_with_crossing()
892
895
  # c = ring_single()
893
896
  # c = ring_double()
894
897
  # c = ring_double(radius=12, length_x=2, length_y=2)
895
898
  # c = straight()
899
+ c = add_fiber_array_pads_rf(component_name="ring_single_heater")
896
900
  c.show()
@@ -5,29 +5,19 @@ Can overwrite config with an optional `config.yml` file in the current working d
5
5
 
6
6
  __all__ = ["PATH", "CONFIG"]
7
7
 
8
- import io
9
8
  import pathlib
10
9
 
11
- from omegaconf import OmegaConf
12
-
13
- default_config = io.StringIO(
14
- """
15
- username: JoaquinMatres
16
- """
17
- )
18
-
10
+ from gdsfactory.config import CONF
19
11
 
20
12
  cwd = pathlib.Path.cwd()
21
13
  cwd_config = cwd / "config.yml"
22
- config_base = OmegaConf.load(default_config)
23
14
  module = pathlib.Path(__file__).parent.absolute()
24
15
  repo = module.parent
25
16
 
26
- try:
27
- config_cwd = OmegaConf.load(cwd_config)
28
- except Exception:
29
- config_cwd = OmegaConf.create()
30
- CONFIG = OmegaConf.merge(config_base, config_cwd)
17
+ CONFIG = CONF
18
+
19
+ if not hasattr(CONFIG, "username"):
20
+ CONFIG.username = "JoaquinMatres"
31
21
 
32
22
 
33
23
  class Path:
@@ -17,7 +17,7 @@
17
17
  <text>
18
18
  import pya
19
19
 
20
- __version__ = "2.6.2"
20
+ __version__ = "2.7.0"
21
21
 
22
22
 
23
23
  def set_menu():
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes