My personal KLayout wrappers and utility functions
Consider this project archived as I don't have time to maintain it. Feel free to use whatever you deem useful in your own klayout-based projects.
pip install flayout
git clone https://github.com/flaport/flayout
cd flayout
conda env update # create conda environment 'fl' with klayout (python library) and klayout-gui (GUI)
pip install -e .
It would be cool if a salt package for this library would exist.
Note that this package might not work on Windwos... I never took the time to test it there...
This library offers a klayout PCell decorator, which is much easier to use than the default PCell offered by the KLayout api. Moreover, the PCell decorator can be with a GDSFactory component function (or any function that produces a gdspy cell) as well!
First install flayout as a system python package:
cd /path/to/flayout
pip install --user .
Alternatively, you can also open the klayout gui from within the fl
python environment (linux only)
Then within klayout add a simple macro to import the flayout example library
from flayout.example_lib import *
Note that running this macro takes a while in KLayout (about 10 seconds).
After running the macro, open a new gdsfile and find the Flayout PCells in the "F.E.L - Flayout Example Library", which supplies two gdsfactory-defined components: the mzi and euler bend. These components are now imported as PCells!
You can have a look at how the example library is implemented and try something similar for yourself!
- FLayout
- Overview
- Factories ⬅ start here.
- Cell Utilities
- PCell Decorator
- Read & Write
- Extensions
- Libraries
This project was created using nbdev1. An awesome literate programming environment for python.
As this library can be considered a light wrapper for the KLayout python api, I chose license it under GPLv3.