Metadata-Version: 2.3
Name: gplugins
Version: 1.2.0
Summary: gdsfactory plugins
Keywords: python
Author-email: gdsfactory <contact@gdsfactory.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Dist: gdsfactory>=8.5.3
Requires-Dist: pint
Requires-Dist: gdstk
Requires-Dist: tqdm
Requires-Dist: numpy
Requires-Dist: dagster ; extra == "dagster"
Requires-Dist: dagit ; extra == "dagster"
Requires-Dist: pre-commit ; extra == "dev"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: pytest-cov ; extra == "dev"
Requires-Dist: pytest_regressions ; extra == "dev"
Requires-Dist: pyswarms ; extra == "dev"
Requires-Dist: ray ; extra == "dev"
Requires-Dist: autograd ; extra == "dev"
Requires-Dist: devsim ; extra == "devsim"
Requires-Dist: pyvista<=0.43.8 ; extra == "devsim"
Requires-Dist: tidy3d>=2.7.8,<2.8 ; extra == "devsim"
Requires-Dist: jupytext ; extra == "docs"
Requires-Dist: matplotlib ; extra == "docs"
Requires-Dist: jupyter-book~=1.0 ; extra == "docs"
Requires-Dist: pyvista[all]<=0.43.8 ; extra == "docs"
Requires-Dist: femwell~=0.1.11 ; extra == "femwell"
Requires-Dist: meshwell~=1.0.7 ; extra == "femwell"
Requires-Dist: jinja2 ; extra == "gfviz"
Requires-Dist: fastapi ; extra == "gfviz"
Requires-Dist: shapely ; extra == "gfviz"
Requires-Dist: natsort ; extra == "gfviz"
Requires-Dist: gmsh==4.13.0 ; extra == "gmsh"
Requires-Dist: h5py ; extra == "gmsh"
Requires-Dist: mapbox_earcut ; extra == "gmsh"
Requires-Dist: meshio ; extra == "gmsh"
Requires-Dist: pygmsh ; extra == "gmsh"
Requires-Dist: pyvista<=0.43.8 ; extra == "gmsh"
Requires-Dist: trimesh ; extra == "gmsh"
Requires-Dist: shapely ; extra == "gmsh"
Requires-Dist: meshwell~=1.0.7 ; extra == "gmsh"
Requires-Dist: klayout ; extra == "klayout"
Requires-Dist: pyvis<=0.3.1 ; extra == "klayout"
Requires-Dist: vlsir~=6.0 ; extra == "klayout"
Requires-Dist: vlsirtools~=6.0 ; extra == "klayout"
Requires-Dist: luminescent~=0.2.12 ; extra == "luminescent"
Requires-Dist: sortedcontainers ; extra == "luminescent"
Requires-Dist: mypy ; extra == "maintainer"
Requires-Dist: tbump ; extra == "maintainer"
Requires-Dist: towncrier ; extra == "maintainer"
Requires-Dist: jax>=0.4.26 ; extra == "meow"
Requires-Dist: jaxlib>=0.4.26 ; extra == "meow"
Requires-Dist: flax>=0.8.2 ; extra == "meow"
Requires-Dist: meow-sim~=0.11.0 ; extra == "meow"
Requires-Dist: tidy3d>=2.7.8,<2.8 ; extra == "meow"
Requires-Dist: jax>=0.4.26 ; extra == "sax"
Requires-Dist: jaxlib>=0.4.26 ; extra == "sax"
Requires-Dist: flax>=0.8.2 ; extra == "sax"
Requires-Dist: sax>=0.13.1,<0.15.0 ; extra == "sax"
Requires-Dist: scikit-learn ; extra == "sax"
Requires-Dist: pyvis<=0.3.1 ; extra == "sax"
Requires-Dist: bokeh ; extra == "schematic"
Requires-Dist: ipywidgets ; extra == "schematic"
Requires-Dist: natsort ; extra == "schematic"
Requires-Dist: tidy3d>=2.7.8,<2.8 ; extra == "tidy3d"
Requires-Dist: meshio ; extra == "tidy3d"
Requires-Dist: numpy ; extra == "tidy3d"
Requires-Dist: meshwell~=1.0.7 ; extra == "tidy3d"
Requires-Dist: vlsir~=6.0 ; extra == "vlsir"
Requires-Dist: vlsirtools~=6.0 ; extra == "vlsir"
Provides-Extra: dagster
Provides-Extra: dev
Provides-Extra: devsim
Provides-Extra: docs
Provides-Extra: femwell
Provides-Extra: gfviz
Provides-Extra: gmsh
Provides-Extra: klayout
Provides-Extra: luminescent
Provides-Extra: maintainer
Provides-Extra: meow
Provides-Extra: sax
Provides-Extra: schematic
Provides-Extra: tidy3d
Provides-Extra: vlsir

# gplugins 1.2.0

[![docs](https://github.com/gdsfactory/gplugins/actions/workflows/pages.yml/badge.svg)](https://gdsfactory.github.io/gplugins/)
[![PyPI](https://img.shields.io/pypi/v/gplugins)](https://pypi.org/project/gplugins/)
[![PyPI Python](https://img.shields.io/pypi/pyversions/gplugins.svg)](https://pypi.python.org/pypi/gplugins)
[![MIT](https://img.shields.io/github/license/gdsfactory/gplugins)](https://choosealicense.com/licenses/mit/)
[![codecov](https://img.shields.io/codecov/c/github/gdsfactory/gplugins)](https://codecov.io/gh/gdsfactory/gdsfactory/tree/main/gplugins)

GDSFactory plugins:

- `devsim` TCAD device simulator.
- `meow` Eigen Mode Expansion (EME).
- `femwell` Finite Element Method Solver (heaters, modes, TCAD, RF waveguides).
- `gmsh` mesh structures.
- `tidy3d` Finite Difference Time Domain (FDTD) simulations on the cloud using GPU.
- `lumerical` For Ansys FDTD and Circuit interconnect.
- `klayout` for fill, dataprep and testing.
- `ray` for distributed computing and optimization.
- `schematic`: for bokeh schematic editor and `path_length_analysis`.
- `meep` for FDTD.
- `mpb` for MPB mode solver.
- `elmer` for electrostatic (capacitive) simulations.
- `palace` for full-wave driven (S parameter) and electrostatic (capacitive) simulations.
- `sax` S-parameter circuit solver.
- `vlsir` for parsing GDS-extracted circuit netlists into Cadence Spectre, NgSpice and Xyce Schematic File formats.
- `luminescent` for FDTD simulations.


## Installation

You can install most plugins with:

```bash
pip install "gdsfactory[full]" --upgrade
```

or

```bash
pip install "gplugins[devsim,femwell,gmsh,schematic,meow,meshwell,ray,sax,tidy3d]" --upgrade
```

Or install only the plugins you need. For example:

```bash
pip install "gplugins[schematic,femwell,meow,sax,tidy3d]" --upgrade

```

### Non-pip plugins

The following plugins require special installation as they can't be installed with `pip`:

- For Meep and MPB you need to use `conda` or `mamba` on MacOS, Linux or [Windows WSL (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/install) with `conda install pymeep=*=mpi_mpich_* -c conda-forge -y`
- For Elmer, refer to [Elmer FEM – Installation](https://www.elmerfem.org/blog/binaries/) for installation or compilation instructions each platform. Gplugins assumes `ElmerSolver`, `ElmerSolver_mpi`, and `ElmerGrid` are available in your PATH environment variable.
- For Palace, refer to [Palace – Installation](https://awslabs.github.io/palace/stable/install/) for compilation instructions using Spack or Singularity. Gplugins assumes `palace` is available in your PATH environment variable.

## Installation for contributors

We recommend `uv` for installing GDSFactory:

```bash
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
```

```bash
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```

Then you can install gdsfactory with:

```bash
uv venv --python 3.11
uv sync --extra docs --extra dev
```


## Getting started

- [Read docs](https://gdsfactory.github.io/gplugins/)
- [Read gdsfactory docs](https://gdsfactory.github.io/gdsfactory/)
- [![Join the chat at https://gitter.im/gdsfactory-dev/community](https://badges.gitter.im/gdsfactory-dev/community.svg)](https://gitter.im/gdsfactory-dev/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

