Git Product home page Git Product logo

flayout's Introduction

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

pip install flayout

Development 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.

flayout's People

Contributors

flaport avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.