question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

remove gdspy dependency from gdsfactory

See original GitHub issue

gdsfactory is built on top of gdspy

The main issues are:

  • extra dependencies makes the package harder to install and sometimes hard to follow and document
  • gdspy is no longer developed (only in maintenance mode). gdstk is supposed to be the successor of gdspy
  • gdspy requires conda install for windows. Now you can install gdsfactory through mamba/conda but it would be nice to only depend on one package manager such as pip

We have some options

1. switch to klayout API

  • Klayout has faster booleans
  • Klayout builds wheels for windows pip install klayout. So no more need to conda install gdsfactory for windows users.
  • Klayout is already an optional dependency
  • Klayout API is not super well documented

See @amccaugh work on the phidl klayout backed @sebastian-goeldi @thomaslima

See zeropdk

2. switch to gdstk

  • gdstk is an improved version of gdspy

3. switch to rust

https://github.com/dan-fritchman/Layout21/

What do you think?

@thomasdorch @tvt173 @flaport @basnijholt

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:12 (6 by maintainers)

github_iconTop GitHub Comments

3reactions
thomaslimacommented, Sep 2, 2022

I obviously support the klayout option but disclaimer is I don’t use gdsfactory yet as I focus on zeropdk. That said, next 0.27 version will support static type checking with mypy and docstring inspection from vscode, which should be helpful for you guys. See https://github.com/KLayout/klayout/pull/1125

1reaction
joamatabcommented, Nov 10, 2022

We were able to get rid of segmentation faults in gdstk by avoiding inheritance from gdstk.Polygon and gdstk.Label

gdsfactory 6.0.0 will be released soon using gdstk backend 🎉

we also have an MVP of a klayout_backend on a branch that we will further investigate

Read more comments on GitHub >

github_iconTop Results From Across the Web

API Reference — gdspy 1.6.12 documentation
Extract a cell from the this GDSII file and include it in the current global library, including referenced dependencies. Deprecated since version 1.5:...
Read more >
enable `conda install gdsfactory` · Issue #226 - GitHub
I would love to be able to conda install gdsfactory. it would ... where you typically need to conda install gdspy or have...
Read more >
CHANGELOG — gdsfactory 6.15.0 documentation
port gdsfactory from gdspy to gdstk: faster booleans, loading and writing GDS files. ... remove picwriter dependency and lazy load scipy functions from...
Read more >
gdsfactory Changelog - pyup.io
port gdsfactory from gdspy to gdstk: faster booleans, loading and writing GDS files. ... remove picwriter dependency and lazy load scipy functions from...
Read more >
gdspy - PyPI
Gdspy is a Python module for creation and manipulation of GDSII stream files. ... Removed gds_image and dropped the optional PIL dependency.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found