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.
Metadata
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 | Provenance | |
|---|---|---|---|---|
| flayout-0.0.1.tar.gz | 31.1 kB | Without provenance | 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
|
Security for flayout 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.