From 53934b3cd27eead67c20af95f6209362d4b064db Mon Sep 17 00:00:00 2001 From: Yannick Augenstein Date: Mon, 18 Sep 2023 19:29:32 -0700 Subject: [PATCH 1/7] Move all non-plugin directories into 'common' module --- docs/notebooks/palace_01_electrostatic.py | 2 +- docs/notebooks/palace_02_fullwave.py | 2 +- docs/notebooks/sax_01_sax.py | 2 +- docs/notebooks/tidy3d_00_tidy3d.py | 2 +- docs/notebooks/workflow_1_mzi.py | 2 +- docs/notebooks/workflow_3_cascaded_mzi.py | 2 +- gplugins/{typings => common}/__init__.py | 0 .../{utils => common/base_models}/__init__.py | 0 gplugins/common/base_models/component.py | 225 ++++++++++++++++++ .../base_models}/simulation.py | 2 +- gplugins/{ => common}/config.py | 0 gplugins/common/types.py | 15 ++ gplugins/common/utils/__init__.py | 0 .../utils/add_simulation_markers.py | 0 .../utils/async_helpers.py} | 0 gplugins/{ => common}/utils/cache.py | 0 .../{ => common}/utils/convert_sparameters.py | 0 gplugins/{ => common}/utils/disable_print.py | 0 .../{ => common}/utils/get_capacitance.py | 2 +- .../get_component_with_new_port_layers.py | 0 .../utils/get_effective_indices.py | 0 gplugins/{ => common}/utils/get_scattering.py | 2 +- .../utils/get_sparameters_path.py | 0 .../{ => common}/utils/optical_constants.py | 0 .../{ => common}/utils/parse_layerstack.py | 0 gplugins/{ => common}/utils/plot.py | 0 gplugins/{ => common}/utils/plot_csv.py | 0 .../{ => common}/utils/port_symmetries.py | 0 ...test_get_component_with_new_port_layers.py | 0 gplugins/elmer/get_capacitance.py | 9 +- gplugins/gmeep/write_sparameters_meep_mpi.py | 2 +- .../tests/test_lumerical_read_sparameters.py | 2 +- gplugins/palace/get_capacitance.py | 9 +- gplugins/palace/get_scattering.py | 9 +- .../test_plot_simulation_grating_coupler.py | 2 +- .../test_write_sparameters.py | 2 +- .../test_write_sparameters_grating_coupler.py | 2 +- gplugins/typings/materials.py | 2 - gplugins/verification/get_netlist.py | 2 +- gplugins/verification/plot_nets.py | 2 +- gplugins/vlsir/tests/test_vlsir.py | 2 +- gplugins/web/main.py | 2 +- 42 files changed, 276 insertions(+), 29 deletions(-) rename gplugins/{typings => common}/__init__.py (100%) rename gplugins/{utils => common/base_models}/__init__.py (100%) create mode 100644 gplugins/common/base_models/component.py rename gplugins/{typings => common/base_models}/simulation.py (97%) rename gplugins/{ => common}/config.py (100%) create mode 100644 gplugins/common/types.py create mode 100644 gplugins/common/utils/__init__.py rename gplugins/{ => common}/utils/add_simulation_markers.py (100%) rename gplugins/{async_utils.py => common/utils/async_helpers.py} (100%) rename gplugins/{ => common}/utils/cache.py (100%) rename gplugins/{ => common}/utils/convert_sparameters.py (100%) rename gplugins/{ => common}/utils/disable_print.py (100%) rename gplugins/{ => common}/utils/get_capacitance.py (97%) rename gplugins/{ => common}/utils/get_component_with_new_port_layers.py (100%) rename gplugins/{ => common}/utils/get_effective_indices.py (100%) rename gplugins/{ => common}/utils/get_scattering.py (97%) rename gplugins/{ => common}/utils/get_sparameters_path.py (100%) rename gplugins/{ => common}/utils/optical_constants.py (100%) rename gplugins/{ => common}/utils/parse_layerstack.py (100%) rename gplugins/{ => common}/utils/plot.py (100%) rename gplugins/{ => common}/utils/plot_csv.py (100%) rename gplugins/{ => common}/utils/port_symmetries.py (100%) rename gplugins/{ => common}/utils/tests/test_get_component_with_new_port_layers.py (100%) delete mode 100644 gplugins/typings/materials.py diff --git a/docs/notebooks/palace_01_electrostatic.py b/docs/notebooks/palace_01_electrostatic.py index 58fb3937..fee075ad 100644 --- a/docs/notebooks/palace_01_electrostatic.py +++ b/docs/notebooks/palace_01_electrostatic.py @@ -47,8 +47,8 @@ from gdsfactory.technology.layer_stack import LayerLevel from IPython.display import display +from gplugins.common.types import RFMaterialSpec from gplugins.palace import run_capacitive_simulation_palace -from gplugins.typings.materials import RFMaterialSpec gf.config.rich_output() PDK = get_generic_pdk() diff --git a/docs/notebooks/palace_02_fullwave.py b/docs/notebooks/palace_02_fullwave.py index 691243db..be16a67e 100644 --- a/docs/notebooks/palace_02_fullwave.py +++ b/docs/notebooks/palace_02_fullwave.py @@ -61,8 +61,8 @@ from IPython.display import display from matplotlib import pyplot as plt +from gplugins.common.types import RFMaterialSpec from gplugins.palace import run_scattering_simulation_palace -from gplugins.typings.materials import RFMaterialSpec gf.config.rich_output() PDK = get_generic_pdk() diff --git a/docs/notebooks/sax_01_sax.py b/docs/notebooks/sax_01_sax.py index f330a475..b4efd69e 100644 --- a/docs/notebooks/sax_01_sax.py +++ b/docs/notebooks/sax_01_sax.py @@ -32,7 +32,7 @@ import gplugins.sax as gs import gplugins.tidy3d as gt -from gplugins.config import PATH +from gplugins.common.config import PATH gf.config.rich_output() PDK = get_generic_pdk() diff --git a/docs/notebooks/tidy3d_00_tidy3d.py b/docs/notebooks/tidy3d_00_tidy3d.py index 4a6a48f6..4beead12 100644 --- a/docs/notebooks/tidy3d_00_tidy3d.py +++ b/docs/notebooks/tidy3d_00_tidy3d.py @@ -38,7 +38,7 @@ import gplugins.tidy3d as gt from gplugins import utils -from gplugins.config import PATH +from gplugins.common.config import PATH # %% print(gt.materials.MaterialSpecTidy3d) diff --git a/docs/notebooks/workflow_1_mzi.py b/docs/notebooks/workflow_1_mzi.py index 3d3721eb..d5861bd2 100644 --- a/docs/notebooks/workflow_1_mzi.py +++ b/docs/notebooks/workflow_1_mzi.py @@ -161,7 +161,7 @@ def neff_w(w): import gplugins as sim import gplugins.tidy3d as gt -from gplugins.config import PATH +from gplugins.common.config import PATH c = pdk.mmi1x2() c.plot() diff --git a/docs/notebooks/workflow_3_cascaded_mzi.py b/docs/notebooks/workflow_3_cascaded_mzi.py index 2f0883f2..b093b99c 100644 --- a/docs/notebooks/workflow_3_cascaded_mzi.py +++ b/docs/notebooks/workflow_3_cascaded_mzi.py @@ -33,7 +33,7 @@ import tidy3d as td import gplugins.tidy3d as gt -from gplugins.config import PATH +from gplugins.common.config import PATH # %% [markdown] # We start by loading the desired PDK and setting the main geometry and filter parameters, such as DC gap and central wavelength. diff --git a/gplugins/typings/__init__.py b/gplugins/common/__init__.py similarity index 100% rename from gplugins/typings/__init__.py rename to gplugins/common/__init__.py diff --git a/gplugins/utils/__init__.py b/gplugins/common/base_models/__init__.py similarity index 100% rename from gplugins/utils/__init__.py rename to gplugins/common/base_models/__init__.py diff --git a/gplugins/common/base_models/component.py b/gplugins/common/base_models/component.py new file mode 100644 index 00000000..033675dc --- /dev/null +++ b/gplugins/common/base_models/component.py @@ -0,0 +1,225 @@ +from functools import cached_property +from hashlib import md5 + +import gdsfactory as gf +import numpy as np +from gdsfactory.component import Component +from gdsfactory.technology import LayerLevel, LayerStack +from pydantic import ( + BaseModel, + ConfigDict, + NonNegativeFloat, + computed_field, +) +from shapely import MultiPolygon, Polygon + +from gplugins.gmsh.parse_gds import cleanup_component + +from ..types import AnyShapelyPolygon, GFComponent + + +class LayeredComponentBase(BaseModel): + model_config = ConfigDict( + frozen=True, + extra="forbid", + arbitrary_types_allowed=True, + allow_inf_nan=False, + validate_return=True, + ) + + component: GFComponent + layerstack: LayerStack + extend_ports: NonNegativeFloat = 0.0 + port_offset: float = 0.0 + pad_xy_inner: float = 0.0 + pad_xy_outer: NonNegativeFloat = 0.0 + pad_z_inner: float = 0.0 + pad_z_outer: NonNegativeFloat = 0.0 + wafer_layer: tuple[int, int] = (99999, 0) + slice_stack: tuple[int, int] = (0, -1) + + def __hash__(self): + if not hasattr(self, "_hash"): + dump = str.encode(self.model_dump_json()) + self._hash = int(md5(dump).hexdigest()[:15], 16) + return self._hash + + @property + def pad_xy(self) -> float: + return self.pad_xy_inner + self.pad_xy_outer + + @property + def pad_z(self) -> float: + return self.pad_z_inner + self.pad_z_outer + + @cached_property + def gds_component(self) -> GFComponent: + c = Component(name=f"sim_component_{self.component.name}") + c << gf.components.extend_ports( + self.component, length=self.extend_ports + self.pad_xy + ) + c << gf.components.bbox( + self._gds_bbox, + layer=self.wafer_layer, + top=self.pad_xy_outer, + bottom=self.pad_xy_outer, + left=self.pad_xy_outer, + right=self.pad_xy_outer, + ) + c.add_ports(self.gds_ports) + c.copy_child_info(self.component) + return c + + @cached_property + def _gds_bbox(self) -> tuple[tuple[float, float], tuple[float, float]]: + c = gf.components.extend_ports( + self.component, length=self.extend_ports + self.pad_xy_inner + ).ref() + unchanged = np.isclose(np.abs(np.round(c.bbox - self.component.bbox, 3)), 0) + bbox = c.bbox + unchanged * np.array([[-1, -1], [1, 1]]) * self.pad_xy_inner + return tuple(map(tuple, bbox)) + + @cached_property + def gds_ports(self) -> dict[str, gf.Port]: + return { + n: p.move_polar_copy(self.extend_ports - self.port_offset, p.orientation) + for n, p in self.component.ports.items() + } + + @computed_field + @cached_property + def polygons(self) -> dict[str, AnyShapelyPolygon]: + return cleanup_component( + self.gds_component, self.layerstack, round_tol=3, simplify_tol=1e-3 + ) + + @cached_property + def geometry_layers(self) -> dict[str, LayerLevel]: + layers = { + k: v + for k, v in self.layerstack.layers.items() + if not self.polygons[k].is_empty + } + return dict(tuple(layers.items())[slice(*self.slice_stack)]) + + @property + def xmin(self) -> float: + return self._gds_bbox[0][0] + + @property + def xmax(self) -> float: + return self._gds_bbox[1][0] + + @property + def ymin(self) -> float: + return self._gds_bbox[0][1] + + @property + def ymax(self) -> float: + return self._gds_bbox[1][1] + + @cached_property + def zmin(self) -> float: + return ( + min( + min(layer.zmin, layer.zmin + layer.thickness) + for layer in self.geometry_layers.values() + ) + - self.pad_z_inner + ) + + @cached_property + def zmax(self) -> float: + return ( + max( + max(layer.zmin, layer.zmin + layer.thickness) + for layer in self.geometry_layers.values() + ) + + self.pad_z_inner + ) + + @property + def bbox(self) -> tuple[tuple[float, float, float], tuple[float, float, float]]: + return (*self._gds_bbox[0], self.zmin), (*self._gds_bbox[1], self.zmax) + + @property + def center(self) -> tuple[float, float, float]: + return tuple(np.mean(self.bbox, axis=0)) + + @property + def size(self) -> tuple[float, float, float]: + return tuple(np.squeeze(np.diff(self.bbox, axis=0))) + + @cached_property + def bottom_layer(self) -> str: + return min( + self.geometry_layers.items(), + key=lambda item: min([item[1].zmin, item[1].zmin + item[1].thickness]), + )[0] + + @cached_property + def top_layer(self) -> str: + return max( + self.geometry_layers.items(), + key=lambda item: max([item[1].zmin, item[1].zmin + item[1].thickness]), + )[0] + + @cached_property + def device_layers(self) -> tuple[str, ...]: + return tuple( + k + for k, v in self.layerstack.layers.items() + if v.layer in self.component.layers + ) + + @cached_property + def port_centers(self) -> tuple[tuple[float, float, float], ...]: + return tuple(self.get_port_center(p) for p in self.gds_ports.values()) + + @cached_property + def port_sizes(self): + # TODO calculate maximum port sizes from neighbors + for name, port in self.gds_ports.items(): + print(name, self.port_center(port)) + + def get_port_center(self, port: gf.Port) -> tuple[float, float, float]: + layer_czs = np.array(tuple(self.layer_centers.values())) + return ( + *port.center, + np.mean( + [ + layer_czs[idx, 2] + for idx, layer in enumerate(self.geometry_layers.values()) + if layer.layer == port.layer + ] + ), + ) + + def get_layer_bbox( + self, layername: str + ) -> tuple[tuple[float, float, float], tuple[float, float, float]]: + layer = self.layerstack[layername] + bounds_xy = self.polygons[layername].bounds + zmin, zmax = sorted([layer.zmin, layer.zmin + layer.thickness]) + + if layername == self.bottom_layer: + zmin -= self.pad_z + if layername == self.top_layer: + zmax += self.pad_z + + return (*bounds_xy[:2], zmin), (*bounds_xy[2:], zmax) + + def get_layer_center(self, layername: str) -> tuple[float, float, float]: + bbox = self.get_layer_bbox(layername) + return tuple(np.mean(bbox, axis=0)) + + def get_vertices(self, layer_name: str, buffer: float = 0.0): + poly = self.polygons[layer_name].buffer(buffer, join_style="mitre") + match poly: + case MultiPolygon(): + verts = tuple(tuple(p.exterior.coords) for p in poly.geoms) + case Polygon(): + verts = (tuple(poly.exterior.coords),) + case _: + raise TypeError(f"Invalid polygon type: {type(poly)}") + return verts diff --git a/gplugins/typings/simulation.py b/gplugins/common/base_models/simulation.py similarity index 97% rename from gplugins/typings/simulation.py rename to gplugins/common/base_models/simulation.py index d5cbc0a1..123dbd03 100644 --- a/gplugins/typings/simulation.py +++ b/gplugins/common/base_models/simulation.py @@ -6,7 +6,7 @@ from pydantic import BaseModel, ConfigDict -from .materials import CapacitanceDict +from ..types import CapacitanceDict class ElectrostaticResults(BaseModel): diff --git a/gplugins/config.py b/gplugins/common/config.py similarity index 100% rename from gplugins/config.py rename to gplugins/common/config.py diff --git a/gplugins/common/types.py b/gplugins/common/types.py new file mode 100644 index 00000000..d1050280 --- /dev/null +++ b/gplugins/common/types.py @@ -0,0 +1,15 @@ +from typing import Annotated + +from gdsfactory import Component +from pydantic.functional_serializers import PlainSerializer +from shapely import GeometryCollection, MultiPolygon, Polygon + +RFMaterialSpec = dict[str, dict[str, float | int]] +CapacitanceDict = dict[tuple[str, str], float] +AnyShapelyPolygon = Annotated[ + GeometryCollection | MultiPolygon | Polygon, + PlainSerializer(lambda x: x.wkb_hex, when_used="json"), +] +GFComponent = Annotated[ + Component, PlainSerializer(lambda x: x.to_dict(), when_used="json") +] diff --git a/gplugins/common/utils/__init__.py b/gplugins/common/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/gplugins/utils/add_simulation_markers.py b/gplugins/common/utils/add_simulation_markers.py similarity index 100% rename from gplugins/utils/add_simulation_markers.py rename to gplugins/common/utils/add_simulation_markers.py diff --git a/gplugins/async_utils.py b/gplugins/common/utils/async_helpers.py similarity index 100% rename from gplugins/async_utils.py rename to gplugins/common/utils/async_helpers.py diff --git a/gplugins/utils/cache.py b/gplugins/common/utils/cache.py similarity index 100% rename from gplugins/utils/cache.py rename to gplugins/common/utils/cache.py diff --git a/gplugins/utils/convert_sparameters.py b/gplugins/common/utils/convert_sparameters.py similarity index 100% rename from gplugins/utils/convert_sparameters.py rename to gplugins/common/utils/convert_sparameters.py diff --git a/gplugins/utils/disable_print.py b/gplugins/common/utils/disable_print.py similarity index 100% rename from gplugins/utils/disable_print.py rename to gplugins/common/utils/disable_print.py diff --git a/gplugins/utils/get_capacitance.py b/gplugins/common/utils/get_capacitance.py similarity index 97% rename from gplugins/utils/get_capacitance.py rename to gplugins/common/utils/get_capacitance.py index e2f17ebe..bf81210d 100644 --- a/gplugins/utils/get_capacitance.py +++ b/gplugins/common/utils/get_capacitance.py @@ -6,11 +6,11 @@ import gdsfactory as gf from gdsfactory.typings import ComponentSpec +from gplugins.common.base_models.simulation import ElectrostaticResults from gplugins.elmer.get_capacitance import run_capacitive_simulation_elmer from gplugins.palace.get_capacitance import ( run_capacitive_simulation_palace, ) -from gplugins.typings.simulation import ElectrostaticResults def get_capacitance_path() -> Path: diff --git a/gplugins/utils/get_component_with_new_port_layers.py b/gplugins/common/utils/get_component_with_new_port_layers.py similarity index 100% rename from gplugins/utils/get_component_with_new_port_layers.py rename to gplugins/common/utils/get_component_with_new_port_layers.py diff --git a/gplugins/utils/get_effective_indices.py b/gplugins/common/utils/get_effective_indices.py similarity index 100% rename from gplugins/utils/get_effective_indices.py rename to gplugins/common/utils/get_effective_indices.py diff --git a/gplugins/utils/get_scattering.py b/gplugins/common/utils/get_scattering.py similarity index 97% rename from gplugins/utils/get_scattering.py rename to gplugins/common/utils/get_scattering.py index 16934507..d59dbe82 100644 --- a/gplugins/utils/get_scattering.py +++ b/gplugins/common/utils/get_scattering.py @@ -7,8 +7,8 @@ from gdsfactory.pdk import get_sparameters_path from gdsfactory.typings import ComponentSpec +from gplugins.common.base_models.simulation import DrivenFullWaveResults from gplugins.palace.get_scattering import run_scattering_simulation_palace -from gplugins.typings.simulation import DrivenFullWaveResults def get_scattering( diff --git a/gplugins/utils/get_sparameters_path.py b/gplugins/common/utils/get_sparameters_path.py similarity index 100% rename from gplugins/utils/get_sparameters_path.py rename to gplugins/common/utils/get_sparameters_path.py diff --git a/gplugins/utils/optical_constants.py b/gplugins/common/utils/optical_constants.py similarity index 100% rename from gplugins/utils/optical_constants.py rename to gplugins/common/utils/optical_constants.py diff --git a/gplugins/utils/parse_layerstack.py b/gplugins/common/utils/parse_layerstack.py similarity index 100% rename from gplugins/utils/parse_layerstack.py rename to gplugins/common/utils/parse_layerstack.py diff --git a/gplugins/utils/plot.py b/gplugins/common/utils/plot.py similarity index 100% rename from gplugins/utils/plot.py rename to gplugins/common/utils/plot.py diff --git a/gplugins/utils/plot_csv.py b/gplugins/common/utils/plot_csv.py similarity index 100% rename from gplugins/utils/plot_csv.py rename to gplugins/common/utils/plot_csv.py diff --git a/gplugins/utils/port_symmetries.py b/gplugins/common/utils/port_symmetries.py similarity index 100% rename from gplugins/utils/port_symmetries.py rename to gplugins/common/utils/port_symmetries.py diff --git a/gplugins/utils/tests/test_get_component_with_new_port_layers.py b/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py similarity index 100% rename from gplugins/utils/tests/test_get_component_with_new_port_layers.py rename to gplugins/common/utils/tests/test_get_component_with_new_port_layers.py diff --git a/gplugins/elmer/get_capacitance.py b/gplugins/elmer/get_capacitance.py index fc112114..b3c71f30 100644 --- a/gplugins/elmer/get_capacitance.py +++ b/gplugins/elmer/get_capacitance.py @@ -17,9 +17,12 @@ from numpy import isfinite from pandas import read_csv -from gplugins.async_utils import execute_and_stream_output, run_async_with_event_loop -from gplugins.typings.materials import RFMaterialSpec -from gplugins.typings.simulation import ElectrostaticResults +from gplugins.common.base_models.simulation import ElectrostaticResults +from gplugins.common.types import RFMaterialSpec +from gplugins.common.utils.async_helpers import ( + execute_and_stream_output, + run_async_with_event_loop, +) ELECTROSTATIC_SIF = "electrostatic.sif" ELECTROSTATIC_TEMPLATE = Path(__file__).parent / f"{ELECTROSTATIC_SIF}.j2" diff --git a/gplugins/gmeep/write_sparameters_meep_mpi.py b/gplugins/gmeep/write_sparameters_meep_mpi.py index 09121a91..0df19151 100644 --- a/gplugins/gmeep/write_sparameters_meep_mpi.py +++ b/gplugins/gmeep/write_sparameters_meep_mpi.py @@ -198,7 +198,7 @@ def write_sparameters_meep_mpi( if live_output: import asyncio - from gplugins.async_utils import execute_and_stream_output + from gplugins.common.utils.async_helpers import execute_and_stream_output asyncio.run( execute_and_stream_output( diff --git a/gplugins/lumerical/tests/test_lumerical_read_sparameters.py b/gplugins/lumerical/tests/test_lumerical_read_sparameters.py index e9f720b1..76aaf6e8 100644 --- a/gplugins/lumerical/tests/test_lumerical_read_sparameters.py +++ b/gplugins/lumerical/tests/test_lumerical_read_sparameters.py @@ -2,7 +2,7 @@ from gdsfactory import components -from gplugins.config import PATH +from gplugins.common.config import PATH from gplugins.lumerical.read import read_sparameters_lumerical factory = { diff --git a/gplugins/palace/get_capacitance.py b/gplugins/palace/get_capacitance.py index 62bd20ec..4895bb14 100644 --- a/gplugins/palace/get_capacitance.py +++ b/gplugins/palace/get_capacitance.py @@ -17,9 +17,12 @@ from numpy import isfinite from pandas import read_csv -from gplugins.async_utils import execute_and_stream_output, run_async_with_event_loop -from gplugins.typings.materials import RFMaterialSpec -from gplugins.typings.simulation import ElectrostaticResults +from gplugins.common.base_models.simulation import ElectrostaticResults +from gplugins.common.types import RFMaterialSpec +from gplugins.common.utils.async_helpers import ( + execute_and_stream_output, + run_async_with_event_loop, +) ELECTROSTATIC_JSON = "electrostatic.json" ELECTROSTATIC_TEMPLATE = Path(__file__).parent / ELECTROSTATIC_JSON diff --git a/gplugins/palace/get_scattering.py b/gplugins/palace/get_scattering.py index b0d55ef9..2459cd22 100644 --- a/gplugins/palace/get_scattering.py +++ b/gplugins/palace/get_scattering.py @@ -19,9 +19,12 @@ from gdsfactory.technology import LayerStack from numpy import isfinite -from gplugins.async_utils import execute_and_stream_output, run_async_with_event_loop -from gplugins.typings.materials import RFMaterialSpec -from gplugins.typings.simulation import DrivenFullWaveResults +from gplugins.common.base_models.simulation import DrivenFullWaveResults +from gplugins.common.types import RFMaterialSpec +from gplugins.common.utils.async_helpers import ( + execute_and_stream_output, + run_async_with_event_loop, +) DRIVE_JSON = "driven.json" DRIVEN_TEMPLATE = Path(__file__).parent / DRIVE_JSON diff --git a/gplugins/tidy3d/tests/test_plot_simulation_grating_coupler.py b/gplugins/tidy3d/tests/test_plot_simulation_grating_coupler.py index 4d137c73..95d82455 100644 --- a/gplugins/tidy3d/tests/test_plot_simulation_grating_coupler.py +++ b/gplugins/tidy3d/tests/test_plot_simulation_grating_coupler.py @@ -3,7 +3,7 @@ import gdsfactory as gf import gplugins.tidy3d as gt -from gplugins.config import PATH +from gplugins.common.config import PATH fiber_port_name = "o2" diff --git a/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters.py b/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters.py index 0b8bb674..2b21a76c 100644 --- a/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters.py +++ b/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters.py @@ -5,7 +5,7 @@ import tidy3d as td import gplugins.tidy3d as gt -from gplugins.config import PATH +from gplugins.common.config import PATH def test_sparameters_straight_3d(overwrite=True) -> None: diff --git a/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters_grating_coupler.py b/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters_grating_coupler.py index 82193b20..3721d5f5 100644 --- a/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters_grating_coupler.py +++ b/gplugins/tidy3d/tests/tests_sparameters/test_write_sparameters_grating_coupler.py @@ -4,7 +4,7 @@ import numpy as np import gplugins.tidy3d as gt -from gplugins.config import PATH +from gplugins.common.config import PATH fiber_port_name = "o2" diff --git a/gplugins/typings/materials.py b/gplugins/typings/materials.py deleted file mode 100644 index ddb8dcc0..00000000 --- a/gplugins/typings/materials.py +++ /dev/null @@ -1,2 +0,0 @@ -RFMaterialSpec = dict[str, dict[str, float | int]] -CapacitanceDict = dict[tuple[str, str], float] diff --git a/gplugins/verification/get_netlist.py b/gplugins/verification/get_netlist.py index 120fc5d0..2927b57a 100644 --- a/gplugins/verification/get_netlist.py +++ b/gplugins/verification/get_netlist.py @@ -44,7 +44,7 @@ def get_netlist(gdspath, **kwargs) -> kdb.Netlist: if __name__ == "__main__": from gdsfactory.samples.demo.lvs import pads_correct, pads_shorted - from gplugins.config import PATH + from gplugins.common.config import PATH c = pads_correct() c = pads_shorted() diff --git a/gplugins/verification/plot_nets.py b/gplugins/verification/plot_nets.py index 15c98028..4df9f1e4 100644 --- a/gplugins/verification/plot_nets.py +++ b/gplugins/verification/plot_nets.py @@ -37,7 +37,7 @@ def plot_nets(filepath: str | Path) -> None: if __name__ == "__main__": from gdsfactory.samples.demo.lvs import pads_correct, pads_shorted - from gplugins.config import PATH + from gplugins.common.config import PATH c = pads_correct() c = pads_shorted() diff --git a/gplugins/vlsir/tests/test_vlsir.py b/gplugins/vlsir/tests/test_vlsir.py index 9f17d2cf..e1552fb9 100644 --- a/gplugins/vlsir/tests/test_vlsir.py +++ b/gplugins/vlsir/tests/test_vlsir.py @@ -1,7 +1,7 @@ import pytest from gdsfactory.samples.demo.lvs import pads_correct -from gplugins.config import PATH +from gplugins.common.config import PATH from gplugins.verification.get_netlist import get_netlist from gplugins.vlsir import export_netlist, kdb_vlsir diff --git a/gplugins/web/main.py b/gplugins/web/main.py index 8d3c91aa..cb691d39 100644 --- a/gplugins/web/main.py +++ b/gplugins/web/main.py @@ -17,7 +17,7 @@ from pydantic import BaseModel from starlette.routing import WebSocketRoute -from gplugins.config import PATH +from gplugins.common.config import PATH from gplugins.web.middleware import ProxiedHeadersMiddleware from gplugins.web.server import LayoutViewServerEndpoint, get_layout_view From 1318a4db8822edae6470e985a3634b5599a15936 Mon Sep 17 00:00:00 2001 From: Yannick Augenstein Date: Mon, 18 Sep 2023 19:40:33 -0700 Subject: [PATCH 2/7] Fix utils imports --- docs/api_design.rst | 8 ++++---- gplugins/__init__.py | 4 ++-- gplugins/common/utils/add_simulation_markers.py | 2 +- .../test_get_component_with_new_port_layers.py | 2 +- gplugins/devsim/get_simulation_xsection.py | 2 +- gplugins/fdtdz/get_epsilon_fdtdz.py | 2 +- gplugins/gmeep/__init__.py | 4 ++-- gplugins/gmeep/get_material.py | 2 +- gplugins/gmeep/get_meep_geometry.py | 2 +- gplugins/gmeep/test_materials.py | 2 +- gplugins/gmeep/write_sparameters_meep.py | 8 ++++---- gplugins/gmeep/write_sparameters_meep_batch.py | 8 ++++---- gplugins/gmeep/write_sparameters_meep_mpi.py | 8 ++++---- gplugins/gmsh/__init__.py | 14 +++++++------- gplugins/gmsh/uz_xsection_mesh.py | 8 ++++---- gplugins/gmsh/xy_xsection_mesh.py | 5 ++++- gplugins/gmsh/xyz_mesh.py | 6 +++--- gplugins/lumerical/read.py | 2 +- gplugins/lumerical/write_sparameters_lumerical.py | 2 +- gplugins/meow/meow_eme.py | 2 +- gplugins/modes/find_modes.py | 4 ++-- gplugins/modes/find_modes_cross_section.py | 4 ++-- gplugins/sax/read.py | 2 +- gplugins/tidy3d/write_sparameters.py | 8 ++++---- .../tidy3d/write_sparameters_grating_coupler.py | 6 +++--- 25 files changed, 60 insertions(+), 57 deletions(-) diff --git a/docs/api_design.rst b/docs/api_design.rst index 30a84be2..50587322 100644 --- a/docs/api_design.rst +++ b/docs/api_design.rst @@ -93,7 +93,7 @@ FDTD Simulation .. rubric:: Sparameter utils -.. currentmodule:: gplugins.utils.plot +.. currentmodule:: gplugins.common.utils.plot .. autosummary:: :toctree: _autosummary/ @@ -104,19 +104,19 @@ FDTD Simulation .. rubric:: common FDTD functions -.. currentmodule:: gplugins.utils.get_effective_indices +.. currentmodule:: gplugins.common.utils.get_effective_indices .. autosummary:: :toctree: _autosummary/ get_effective_indices -.. currentmodule:: gplugins.utils.port_symmetries +.. currentmodule:: gplugins.common.utils.port_symmetries .. autosummary:: :toctree: _autosummary/ -.. currentmodule:: gplugins.utils.convert_sparameters +.. currentmodule:: gplugins.common.utils.convert_sparameters .. autosummary:: :toctree: _autosummary/ diff --git a/gplugins/__init__.py b/gplugins/__init__.py index 2392bb09..7d5d6b33 100644 --- a/gplugins/__init__.py +++ b/gplugins/__init__.py @@ -2,7 +2,7 @@ __version__ = "0.6.0" -from gplugins.utils import plot, port_symmetries -from gplugins.utils.get_effective_indices import get_effective_indices +from gplugins.common.utils import plot, port_symmetries +from gplugins.common.utils.get_effective_indices import get_effective_indices __all__ = ["plot", "get_effective_indices", "port_symmetries"] diff --git a/gplugins/common/utils/add_simulation_markers.py b/gplugins/common/utils/add_simulation_markers.py index fa9f6b4e..47814b03 100644 --- a/gplugins/common/utils/add_simulation_markers.py +++ b/gplugins/common/utils/add_simulation_markers.py @@ -72,7 +72,7 @@ def add_simulation_markers( :include-source: import gdsfactory as gf - from gplugins.utils.add_simulation_markers import add_simulation_markers + from gplugins.common.utils.add_simulation_markers import add_simulation_markers c = gf.components.bend_circular() c = add_simulation_markers(c) diff --git a/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py b/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py index 6f33dff0..db5250ac 100644 --- a/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py +++ b/gplugins/common/utils/tests/test_get_component_with_new_port_layers.py @@ -1,7 +1,7 @@ from gdsfactory.components import straight_heater_metal from gdsfactory.generic_tech import LAYER_STACK -from gplugins.utils.get_component_with_new_port_layers import ( +from gplugins.common.utils.get_component_with_new_port_layers import ( get_component_layer_stack, get_component_with_new_port_layers, ) diff --git a/gplugins/devsim/get_simulation_xsection.py b/gplugins/devsim/get_simulation_xsection.py index 9f2c2782..1a48a554 100644 --- a/gplugins/devsim/get_simulation_xsection.py +++ b/gplugins/devsim/get_simulation_xsection.py @@ -23,9 +23,9 @@ from pydantic import BaseModel, ConfigDict from scipy.interpolate import griddata +from gplugins.common.utils.disable_print import disable_print, enable_print from gplugins.tidy3d.materials import get_nk from gplugins.tidy3d.modes import Precision, Waveguide -from gplugins.utils.disable_print import disable_print, enable_print if TYPE_CHECKING: from gdsfactory.typings import MaterialSpec diff --git a/gplugins/fdtdz/get_epsilon_fdtdz.py b/gplugins/fdtdz/get_epsilon_fdtdz.py index cd879fca..dbb00b73 100644 --- a/gplugins/fdtdz/get_epsilon_fdtdz.py +++ b/gplugins/fdtdz/get_epsilon_fdtdz.py @@ -5,7 +5,7 @@ from gdsfactory.typings import Float2 from pjz import _epsilon -from gplugins.utils.parse_layerstack import ( +from gplugins.common.utils.parse_layerstack import ( get_layer_overlaps_z, list_unique_layerstack_z, order_layerstack, diff --git a/gplugins/gmeep/__init__.py b/gplugins/gmeep/__init__.py index b6daa27c..75e34cea 100644 --- a/gplugins/gmeep/__init__.py +++ b/gplugins/gmeep/__init__.py @@ -8,7 +8,8 @@ from gdsfactory.config import logger -from gplugins import plot, port_symmetries +from gplugins.common.utils import plot, port_symmetries +from gplugins.common.utils.get_sparameters_path import get_sparameters_data_meep from gplugins.gmeep.get_simulation import get_simulation from gplugins.gmeep.meep_adjoint_optimization import ( get_meep_adjoint_optimizer, @@ -34,7 +35,6 @@ write_sparameters_meep_mpi_1x1, write_sparameters_meep_mpi_1x1_bend90, ) -from gplugins.utils.get_sparameters_path import get_sparameters_data_meep logger.info(f"Meep {mp.__version__!r} installed at {mp.__path__!r}") diff --git a/gplugins/gmeep/get_material.py b/gplugins/gmeep/get_material.py index 93d1aca6..4b25655b 100644 --- a/gplugins/gmeep/get_material.py +++ b/gplugins/gmeep/get_material.py @@ -6,7 +6,7 @@ import meep.materials as mat import numpy as np -from gplugins.utils import optical_constants +from gplugins.common.utils import optical_constants material_name_to_meep_default = { "si": "Si", diff --git a/gplugins/gmeep/get_meep_geometry.py b/gplugins/gmeep/get_meep_geometry.py index 71556665..db9c4d97 100644 --- a/gplugins/gmeep/get_meep_geometry.py +++ b/gplugins/gmeep/get_meep_geometry.py @@ -7,8 +7,8 @@ from gdsfactory.technology import LayerStack from gdsfactory.typings import ComponentSpec, CrossSectionSpec +from gplugins.common.utils.parse_layerstack import order_layerstack from gplugins.gmeep.get_material import get_material -from gplugins.utils.parse_layerstack import order_layerstack def get_meep_geometry_from_component( diff --git a/gplugins/gmeep/test_materials.py b/gplugins/gmeep/test_materials.py index cedc4c8f..503a26c5 100644 --- a/gplugins/gmeep/test_materials.py +++ b/gplugins/gmeep/test_materials.py @@ -1,7 +1,7 @@ import gdsfactory as gf +from gplugins.common.utils import optical_constants from gplugins.gmeep.write_sparameters_meep import write_sparameters_meep -from gplugins.utils import optical_constants def test_materials_override() -> None: diff --git a/gplugins/gmeep/write_sparameters_meep.py b/gplugins/gmeep/write_sparameters_meep.py index a93baab5..a41dda57 100644 --- a/gplugins/gmeep/write_sparameters_meep.py +++ b/gplugins/gmeep/write_sparameters_meep.py @@ -23,14 +23,14 @@ from gdsfactory.typings import ComponentSpec, PathType, Port, PortSymmetries from tqdm.auto import tqdm +from gplugins.common.utils import port_symmetries +from gplugins.common.utils.get_sparameters_path import ( + get_sparameters_path_meep as get_sparameters_path, +) from gplugins.gmeep.get_simulation import ( get_simulation, settings_get_simulation, ) -from gplugins.utils import port_symmetries -from gplugins.utils.get_sparameters_path import ( - get_sparameters_path_meep as get_sparameters_path, -) core_materials = multiprocessing.cpu_count() diff --git a/gplugins/gmeep/write_sparameters_meep_batch.py b/gplugins/gmeep/write_sparameters_meep_batch.py index 1c2f02c5..d7dae0bb 100644 --- a/gplugins/gmeep/write_sparameters_meep_batch.py +++ b/gplugins/gmeep/write_sparameters_meep_batch.py @@ -19,14 +19,14 @@ from gdsfactory.technology import LayerStack from tqdm.auto import tqdm +from gplugins.common.utils import port_symmetries +from gplugins.common.utils.get_sparameters_path import ( + get_sparameters_path_meep as get_sparameters_path, +) from gplugins.gmeep.write_sparameters_meep import remove_simulation_kwargs from gplugins.gmeep.write_sparameters_meep_mpi import ( write_sparameters_meep_mpi, ) -from gplugins.utils import port_symmetries -from gplugins.utils.get_sparameters_path import ( - get_sparameters_path_meep as get_sparameters_path, -) core_materials = multiprocessing.cpu_count() diff --git a/gplugins/gmeep/write_sparameters_meep_mpi.py b/gplugins/gmeep/write_sparameters_meep_mpi.py index 0df19151..2b8e21c5 100644 --- a/gplugins/gmeep/write_sparameters_meep_mpi.py +++ b/gplugins/gmeep/write_sparameters_meep_mpi.py @@ -20,14 +20,14 @@ from gdsfactory.technology import LayerStack from gdsfactory.typings import ComponentSpec, PathType +from gplugins.common.utils import port_symmetries +from gplugins.common.utils.get_sparameters_path import ( + get_sparameters_path_meep as get_sparameters_path, +) from gplugins.gmeep.write_sparameters_meep import ( remove_simulation_kwargs, settings_write_sparameters_meep, ) -from gplugins.utils import port_symmetries -from gplugins.utils.get_sparameters_path import ( - get_sparameters_path_meep as get_sparameters_path, -) core_materials = multiprocessing.cpu_count() diff --git a/gplugins/gmsh/__init__.py b/gplugins/gmsh/__init__.py index 992fa22e..68b2df75 100644 --- a/gplugins/gmsh/__init__.py +++ b/gplugins/gmsh/__init__.py @@ -1,5 +1,12 @@ from __future__ import annotations +from gplugins.common.utils.parse_layerstack import ( + get_layer_overlaps_z, + get_layers_at_z, + list_unique_layerstack_z, + map_unique_layerstack_z, + order_layerstack, +) from gplugins.gmsh.mesh import create_physical_mesh, mesh_from_polygons from gplugins.gmsh.meshtracker import MeshTracker from gplugins.gmsh.parse_gds import ( @@ -16,13 +23,6 @@ uz_xsection_mesh, ) from gplugins.gmsh.xy_xsection_mesh import xy_xsection_mesh -from gplugins.utils.parse_layerstack import ( - get_layer_overlaps_z, - get_layers_at_z, - list_unique_layerstack_z, - map_unique_layerstack_z, - order_layerstack, -) __all__ = [ "mesh_from_polygons", diff --git a/gplugins/gmsh/uz_xsection_mesh.py b/gplugins/gmsh/uz_xsection_mesh.py index 401d9ae3..1043472b 100644 --- a/gplugins/gmsh/uz_xsection_mesh.py +++ b/gplugins/gmsh/uz_xsection_mesh.py @@ -10,6 +10,10 @@ from shapely.geometry import LineString, MultiPolygon, Point, Polygon from shapely.ops import unary_union +from gplugins.common.utils.parse_layerstack import ( + list_unique_layerstack_z, + order_layerstack, +) from gplugins.gmsh.mesh import mesh_from_polygons from gplugins.gmsh.parse_component import ( create_2D_surface_interface, @@ -17,10 +21,6 @@ process_buffers, ) from gplugins.gmsh.parse_gds import cleanup_component, to_polygons -from gplugins.utils.parse_layerstack import ( - list_unique_layerstack_z, - order_layerstack, -) def get_u_bounds_polygons( diff --git a/gplugins/gmsh/xy_xsection_mesh.py b/gplugins/gmsh/xy_xsection_mesh.py index cab2e60f..692fbf81 100644 --- a/gplugins/gmsh/xy_xsection_mesh.py +++ b/gplugins/gmsh/xy_xsection_mesh.py @@ -15,8 +15,11 @@ from shapely.geometry import Polygon from shapely.ops import unary_union +from gplugins.common.utils.parse_layerstack import ( + get_layers_at_z, + list_unique_layerstack_z, +) from gplugins.gmsh.parse_gds import cleanup_component -from gplugins.utils.parse_layerstack import get_layers_at_z, list_unique_layerstack_z def apply_effective_buffers(layer_polygons_dict, layerstack, z): diff --git a/gplugins/gmsh/xyz_mesh.py b/gplugins/gmsh/xyz_mesh.py index 0f9f0609..dac597f2 100644 --- a/gplugins/gmsh/xyz_mesh.py +++ b/gplugins/gmsh/xyz_mesh.py @@ -16,11 +16,11 @@ from shapely.geometry import Polygon from shapely.ops import unary_union -from gplugins.gmsh.parse_component import bufferize -from gplugins.gmsh.parse_gds import cleanup_component -from gplugins.utils.parse_layerstack import ( +from gplugins.common.utils.parse_layerstack import ( list_unique_layerstack_z, ) +from gplugins.gmsh.parse_component import bufferize +from gplugins.gmsh.parse_gds import cleanup_component def define_edgeport( diff --git a/gplugins/lumerical/read.py b/gplugins/lumerical/read.py index 47fbc1a1..3971e8df 100644 --- a/gplugins/lumerical/read.py +++ b/gplugins/lumerical/read.py @@ -10,7 +10,7 @@ from gdsfactory.generic_tech import LAYER_STACK from gdsfactory.technology import LayerStack -from gplugins.utils.get_sparameters_path import ( +from gplugins.common.utils.get_sparameters_path import ( get_sparameters_path_lumerical as get_sparameters_path, ) diff --git a/gplugins/lumerical/write_sparameters_lumerical.py b/gplugins/lumerical/write_sparameters_lumerical.py index 4e08bd11..1d36f1a7 100644 --- a/gplugins/lumerical/write_sparameters_lumerical.py +++ b/gplugins/lumerical/write_sparameters_lumerical.py @@ -16,7 +16,7 @@ from gdsfactory.pdk import get_layer_stack from gdsfactory.technology import LayerStack -from gplugins.utils.get_sparameters_path import ( +from gplugins.common.utils.get_sparameters_path import ( get_sparameters_path_lumerical as get_sparameters_path, ) diff --git a/gplugins/meow/meow_eme.py b/gplugins/meow/meow_eme.py index da046a4c..bd2ea534 100644 --- a/gplugins/meow/meow_eme.py +++ b/gplugins/meow/meow_eme.py @@ -17,7 +17,7 @@ from meow.base_model import _array as mw_array from tqdm.auto import tqdm -from gplugins.utils.get_sparameters_path import ( +from gplugins.common.utils.get_sparameters_path import ( get_sparameters_path_meow as get_sparameters_path, ) diff --git a/gplugins/modes/find_modes.py b/gplugins/modes/find_modes.py index 6d08eea8..b76ea81b 100644 --- a/gplugins/modes/find_modes.py +++ b/gplugins/modes/find_modes.py @@ -21,11 +21,11 @@ from gdsfactory.typings import PathType from meep import mpb +from gplugins.common.utils.disable_print import disable_print, enable_print +from gplugins.common.utils.get_sparameters_path import get_kwargs_hash from gplugins.modes.get_mode_solver_coupler import get_mode_solver_coupler from gplugins.modes.get_mode_solver_rib import get_mode_solver_rib from gplugins.modes.types import Mode, ModeData -from gplugins.utils.disable_print import disable_print, enable_print -from gplugins.utils.get_sparameters_path import get_kwargs_hash mpb.Verbosity(0) diff --git a/gplugins/modes/find_modes_cross_section.py b/gplugins/modes/find_modes_cross_section.py index 143b7cec..89bd7ad9 100755 --- a/gplugins/modes/find_modes_cross_section.py +++ b/gplugins/modes/find_modes_cross_section.py @@ -21,12 +21,12 @@ from gdsfactory.typings import CrossSectionSpec, PathType from meep import mpb +from gplugins.common.utils.disable_print import disable_print, enable_print +from gplugins.common.utils.get_sparameters_path import get_kwargs_hash from gplugins.modes.get_mode_solver_cross_section import ( get_mode_solver_cross_section, ) from gplugins.modes.types import Mode -from gplugins.utils.disable_print import disable_print, enable_print -from gplugins.utils.get_sparameters_path import get_kwargs_hash mpb.Verbosity(0) diff --git a/gplugins/sax/read.py b/gplugins/sax/read.py index dadea72d..7fbec1d4 100644 --- a/gplugins/sax/read.py +++ b/gplugins/sax/read.py @@ -12,7 +12,7 @@ import pandas as pd from sax.saxtypes import Float, Model -from gplugins.utils.get_sparameters_path import ( +from gplugins.common.utils.get_sparameters_path import ( get_sparameters_path_lumerical, get_sparameters_path_meep, get_sparameters_path_tidy3d, diff --git a/gplugins/tidy3d/write_sparameters.py b/gplugins/tidy3d/write_sparameters.py index 32d4824b..3f681011 100644 --- a/gplugins/tidy3d/write_sparameters.py +++ b/gplugins/tidy3d/write_sparameters.py @@ -24,12 +24,12 @@ Tuple, ) -from gplugins.tidy3d.get_results import _executor, get_results_batch -from gplugins.tidy3d.get_simulation import get_simulation, plot_simulation -from gplugins.utils import port_symmetries -from gplugins.utils.get_sparameters_path import ( +from gplugins.common.utils import port_symmetries +from gplugins.common.utils.get_sparameters_path import ( get_sparameters_path_tidy3d as get_sparameters_path, ) +from gplugins.tidy3d.get_results import _executor, get_results_batch +from gplugins.tidy3d.get_simulation import get_simulation, plot_simulation def parse_port_eigenmode_coeff( diff --git a/gplugins/tidy3d/write_sparameters_grating_coupler.py b/gplugins/tidy3d/write_sparameters_grating_coupler.py index 561ce7f3..9399c567 100644 --- a/gplugins/tidy3d/write_sparameters_grating_coupler.py +++ b/gplugins/tidy3d/write_sparameters_grating_coupler.py @@ -20,14 +20,14 @@ Sparameters, ) +from gplugins.common.utils.get_sparameters_path import ( + get_sparameters_path_tidy3d as get_sparameters_path, +) from gplugins.tidy3d.get_results import _executor, get_results from gplugins.tidy3d.get_simulation import plot_simulation from gplugins.tidy3d.get_simulation_grating_coupler import ( get_simulation_grating_coupler, ) -from gplugins.utils.get_sparameters_path import ( - get_sparameters_path_tidy3d as get_sparameters_path, -) def write_sparameters_grating_coupler( From 7349652de7fb02ba83ada8b43566e840f94dbded Mon Sep 17 00:00:00 2001 From: Yannick Augenstein Date: Mon, 18 Sep 2023 20:27:50 -0700 Subject: [PATCH 3/7] Fix path --- gplugins/common/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gplugins/common/config.py b/gplugins/common/config.py index 96bfbd9c..8393351a 100644 --- a/gplugins/common/config.py +++ b/gplugins/common/config.py @@ -11,7 +11,7 @@ home_config = home / ".config" / "gplugins.yml" config_dir = home / ".config" config_dir.mkdir(exist_ok=True) -module_path = pathlib.Path(__file__).parent.absolute() +module_path = pathlib.Path(__file__).parents[1].absolute() repo_path = module_path.parent From 8e5ad92d61c7acf59b2e84d27525235bb9fad558 Mon Sep 17 00:00:00 2001 From: Joaquin Matres <4514346+joamatab@users.noreply.github.com> Date: Tue, 19 Sep 2023 06:22:30 -0700 Subject: [PATCH 4/7] pin version of jax and jaxlib --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8fe5b840..e8debdb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -81,8 +81,8 @@ meow = [ ] sax = [ "sax>=0.10.1,<0.11.0", - "jaxlib", - "jax", + "jaxlib==0.4.14", + "jax==0.4.14", "scikit-learn" ] schematic = [ From e9f4e28e5528e3adf86dc799fdbcff84acaa2893 Mon Sep 17 00:00:00 2001 From: Joaquin Matres <4514346+joamatab@users.noreply.github.com> Date: Tue, 19 Sep 2023 06:27:30 -0700 Subject: [PATCH 5/7] remove empy folder --- gplugins/typings/component.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 gplugins/typings/component.py diff --git a/gplugins/typings/component.py b/gplugins/typings/component.py deleted file mode 100644 index e69de29b..00000000 From 52712578515d55aa68fca8aa1eae6ff3ea28ea00 Mon Sep 17 00:00:00 2001 From: Joaquin Matres <4514346+joamatab@users.noreply.github.com> Date: Tue, 19 Sep 2023 06:40:59 -0700 Subject: [PATCH 6/7] pin version of jax and jaxlib --- pyproject.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e8debdb0..77eec28a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,7 +77,9 @@ klayout = [ ] meow = [ "meow-sim>=0.8.0,<0.9.0", - "tidy3d>=2.4.0rc2,<2.5.0" + "tidy3d>=2.4.0rc2,<2.5.0", + "jaxlib==0.4.14", + "jax==0.4.14" ] sax = [ "sax>=0.10.1,<0.11.0", From 3021f5bffac259b8829901dc66115ddeaf69ac1f Mon Sep 17 00:00:00 2001 From: Joaquin Matres <4514346+joamatab@users.noreply.github.com> Date: Tue, 19 Sep 2023 06:47:59 -0700 Subject: [PATCH 7/7] remove deprecated modules and pin sax --- gplugins/eme/__init__.py | 8 -------- gplugins/fem/__init__.py | 8 -------- gplugins/gtidy3d/__init__.py | 10 ---------- pyproject.toml | 8 ++++---- 4 files changed, 4 insertions(+), 30 deletions(-) delete mode 100644 gplugins/eme/__init__.py delete mode 100644 gplugins/fem/__init__.py delete mode 100644 gplugins/gtidy3d/__init__.py diff --git a/gplugins/eme/__init__.py b/gplugins/eme/__init__.py deleted file mode 100644 index 8fd50850..00000000 --- a/gplugins/eme/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys -import warnings - -from gplugins import meow - -message = "gplugins.eme has been renamed to gplugins.meow. Please update your code." -warnings.warn(message) -sys.modules["gplugins.eme"] = meow diff --git a/gplugins/fem/__init__.py b/gplugins/fem/__init__.py deleted file mode 100644 index 4e0fc562..00000000 --- a/gplugins/fem/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -import sys -import warnings - -from gplugins import femwell - -message = "gplugins.fem has been renamed to gplugins.femwell. Please update your code." -warnings.warn(message) -sys.modules["gplugins.fem"] = femwell diff --git a/gplugins/gtidy3d/__init__.py b/gplugins/gtidy3d/__init__.py deleted file mode 100644 index 251159de..00000000 --- a/gplugins/gtidy3d/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -import sys -import warnings - -from gplugins import tidy3d - -message = ( - "gplugins.gtidy3d has been renamed to gplugins.tidy3d. Please update your code." -) -warnings.warn(message) -sys.modules["gplugins.gtidy3d"] = tidy3d diff --git a/pyproject.toml b/pyproject.toml index 77eec28a..c204a83a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,15 +76,15 @@ klayout = [ "kfactory[git,ipy]>=0.8.4,<0.9" ] meow = [ - "meow-sim>=0.8.0,<0.9.0", - "tidy3d>=2.4.0rc2,<2.5.0", "jaxlib==0.4.14", - "jax==0.4.14" + "jax==0.4.14", + "meow-sim>=0.8.0,<0.9.0", + "tidy3d>=2.4.0rc2,<2.5.0" ] sax = [ - "sax>=0.10.1,<0.11.0", "jaxlib==0.4.14", "jax==0.4.14", + "sax>=0.10.1,<0.11.0", "scikit-learn" ] schematic = [