Skip to main content

Thin functional/declarative wrapper around the KLayout Python API

Project description

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!

gdsfactory_klayout_pcell

You can have a look at how the example library is implemented and try something similar for yourself!

Quick Docs

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.

Project details


Download files

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

Source Distribution

flayout-0.0.1.tar.gz (31.1 kB view details)

Uploaded Source

Built Distribution

flayout-0.0.1-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file flayout-0.0.1.tar.gz.

File metadata

  • Download URL: flayout-0.0.1.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for flayout-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0552f9951a07c8fc33f862b7bfc9f3c7edf7c9f745bf1128cd92320812ddf348
MD5 29324fd1c80b7e17c41b140ee697e951
BLAKE2b-256 de9b94b67ce564c889eac335bc22e40051914ca563d3552a31f6d1812110af20

See more details on using hashes here.

File details

Details for the file flayout-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: flayout-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 32.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for flayout-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8f0881229ff2ddc45a1878934de8761a391883129eb04fdabb59eecb59c7a3e5
MD5 b59018070e6d7eb0ae4c49602c1b3562
BLAKE2b-256 a2a19a4143e9ec0dc22bf8213e9e0a45dbfb4696ff57f11a4602194492a57819

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page