FLayout
My personal KLayout wrappers and utility functions
Archived
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.
Installation
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...
Easy PCells
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!
Use with KLayout
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!
Quick Docs
- FLayout
- Overview
- Factories ⬅ start here.
- Cell Utilities
- PCell Decorator
- Read & Write
- Extensions
- Libraries
NBDev
This project was created using nbdev1. An awesome literate programming environment for python.
License
As this library can be considered a light wrapper for the KLayout python api, I chose license it under GPLv3.
Release files for flayout 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flayout-0.0.1.tar.gz | 31.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flayout-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.4 kB
Release files / flayout-0.0.1.tar.gz
| Download URL | flayout-0.0.1.tar.gz |
|---|---|
| Size | 31.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0552f9951a07c8fc33f862b7bfc9f3c7edf7c9f745bf1128cd92320812ddf348
|
|
BLAKE2b-256 checksum How to use checksums |
de9b94b67ce564c889eac335bc22e40051914ca563d3552a31f6d1812110af20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|
Release files / flayout-0.0.1-py3-none-any.whl
| Download URL | flayout-0.0.1-py3-none-any.whl |
|---|---|
| Size | 32.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f0881229ff2ddc45a1878934de8761a391883129eb04fdabb59eecb59c7a3e5
|
|
BLAKE2b-256 checksum How to use checksums |
a2a19a4143e9ec0dc22bf8213e9e0a45dbfb4696ff57f11a4602194492a57819
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.13
|