Skip to main content

python library to generate GDS layouts

Project description

gdsfactory 5.7.1

docs pypi issues forks GitHub stars Downloads Downloads Downloads MIT codecov black Binder

gdsfactory is an EDA (electronics design automation) tool to Layout Integrated Circuits. It is built on top of phidl, gdspy and klayout to work with GDSII components, PDKs and masks for different foundries. It combines the power of a code driven flow (python or YAML) together with visualization (Klayout for GDS, trimesh for 3D rendering, networkx for graphs ...) and simulation (for component and circuit) interfaces.

You just need to adapt the functions to your foundry and build your own library of elements (see UBC PDK example).

gdsfactory provides you with functions that you can use to:

  • define components, circuits and masks in python or YAML
  • route between components
  • test settings, ports and GDS geometry

It enables both layout and netlist driven flows and is all code driven.

As input, you write python or YAML code.

As output it creates a GDSII file which is the most common filetype used by CMOS foundries. It also can output components settings (that you can use for measurement and data analysis) or netlists (for circuit simulations). And you can easily adapt any outputs to your needs, thanks to being all natively written in python.

gdsfactory is based on phidl, gdspy and klayout.

Getting started


gdsfactory top contributors:

  • Joaquin Matres (Google): maintainer
  • Damien Bonneau (PsiQ): cell decorator, Component routing functions, Klayout placer
  • Pete Shadbolt (PsiQ): Klayout auto-placer, Klayout GDS interface (klive)
  • Troy Tamas (Rockley): get_route_from_steps, netlist driven flow (from_yaml)
  • Floris Laporte (Rockley): netlist extraction and circuit simulation interface with SAX
  • Alec Hammond (Georgia Tech): Meep and MPB interface
  • Simon Bilodeau (Princeton): Meep FDTD write Sparameters
  • Thomas Dorch (Freedom Photonics): for Meep's material database access, MPB sidewall angles, and add_pin_path

Open source heroes:

  • Matthias Köfferlein (Germany): for Klayout
  • Lucas Heitzmann (University of Campinas, Brazil): for gdspy
  • Adam McCaughan (NIST): for phidl
  • Alex Tait (Queens University): for lytest
  • Thomas Ferreira de Lima (NEC): for pip install klayout


Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdsfactory-5.7.1.tar.gz (568.4 kB view hashes)

Uploaded source

Built Distribution

gdsfactory-5.7.1-py3-none-any.whl (756.4 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page