{"id":13736292,"url":"https://github.com/flaport/flayout","last_synced_at":"2025-04-09T20:50:56.899Z","repository":{"id":110354191,"uuid":"557471421","full_name":"flaport/flayout","owner":"flaport","description":"My personal KLayout wrappers and utility functions","archived":false,"fork":false,"pushed_at":"2022-10-25T23:48:54.000Z","size":312,"stargazers_count":11,"open_issues_count":3,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T22:42:27.464Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://flaport.github.io/flayout","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flaport.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-10-25T18:47:55.000Z","updated_at":"2024-07-14T14:00:41.000Z","dependencies_parsed_at":"2023-04-08T23:47:10.563Z","dependency_job_id":null,"html_url":"https://github.com/flaport/flayout","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Fflayout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Fflayout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Fflayout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flaport%2Fflayout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flaport","download_url":"https://codeload.github.com/flaport/flayout/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248111957,"owners_count":21049576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T03:01:18.943Z","updated_at":"2025-04-09T20:50:56.874Z","avatar_url":"https://github.com/flaport.png","language":"Jupyter Notebook","funding_links":[],"categories":["layout"],"sub_categories":[],"readme":"# FLayout\n\u003e My personal KLayout wrappers and utility functions\n\n\n## Archived\n\n**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.**\n\n## Installation\n\n```sh\npip install flayout\n```\n\n### Development installation\n\n```sh\ngit clone https://github.com/flaport/flayout\ncd flayout\nconda env update # create conda environment 'fl' with klayout (python library) and klayout-gui (GUI)\npip install -e .\n```\n\nIt would be cool if a [salt](https://www.klayout.de/package_cookbook.html) package for this library would exist.\n\nNote that this package might not work on Windwos... I never took the time to test it there...\n\n## Easy PCells\n\nThis library offers a klayout [PCell decorator](https://flaport.github.io/flayout/pcell), which is much easier to use than the default PCell offered by the KLayout api. Moreover, the PCell decorator can be with a [GDSFactory](https://github.com/gdsfactory/gdsfactory) component function (or any function that produces a [gdspy](https://github.com/heitzmann/gdspy) cell) as well!\n\n## Use with KLayout\n\nFirst install flayout as a system python package:\n\n```sh\ncd /path/to/flayout\npip install --user .\n```\n\nAlternatively, you can also open the klayout gui from *within* the `fl` python environment (linux only)\n\nThen within klayout add a simple macro to import the flayout example library\n\n```python\nfrom flayout.example_lib import *\n```\n\nNote that running this macro takes a while in KLayout (about 10 seconds).\n\nAfter 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!\n\n![gdsfactory_klayout_pcell](img/flayout_gf_mzi.png)\n\nYou can have a look at how the [example library](flayout/example_lib.py) is implemented and try something similar for yourself!\n\n## Quick Docs\n\n\n\n\n- **FLayout**\n  - Overview\n  - [Factories](https://flaport.github.io/flayout/factories)     ⬅ start here.\n  - [Cell Utilities](https://flaport.github.io/flayout/cell)\n  - [PCell Decorator](https://flaport.github.io/flayout/pcell)\n  - [Read \u0026amp; Write](https://flaport.github.io/flayout/io)\n- **Extensions**\n  - [Bokeh Visualization](https://flaport.github.io/flayout/bokeh)\n  - [Notebook](https://flaport.github.io/flayout/notebook)\n- **Libraries**\n  - [Example Library](https://flaport.github.io/flayout/example_lib)\n\n\n\n\n## NBDev\n\nThis project was created using [nbdev1](https://nbdev1.fast.ai/). An awesome [literate programming](https://en.wikipedia.org/wiki/Literate_programming) environment for python.\n\n## License\n\nAs this library can be considered a light wrapper for the KLayout python api, I chose license it under [GPLv3](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflaport%2Fflayout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflaport%2Fflayout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflaport%2Fflayout/lists"}