KLayout API implementation of gdsfactory
Project description
KFactory 3.0.0rc2
KFactory is a Python framework for photonic and electronic chip layout, built on KLayout's C++ geometry engine. It provides parametric cells with caching, optical and electrical routing, enclosures via Minkowski sums, and schematic-driven design with LVS.
Key Features
- Cell caching — the
@kf.celldecorator deduplicates identical components automatically - Routing — optical and electrical bundle routing, Manhattan primitives, all-angle routing, and path-length matching
- Cross-sections & enclosures — define waveguide profiles and automatic boolean cladding layers via Minkowski sums
- Schematics — place-and-connect workflow with netlist extraction and layout-vs-schematic verification
- Virtual cells — hierarchical logical containers for schematic-driven design
- Dual coordinate systems —
KCell(integer DBU) andDKCell(float µm) work side by side - KLayout integration — full access to
kdb.Region,kdb.Polygon, DRC, and GDS/OASIS I/O - Jupyter & KLive — live preview in KLayout while editing notebooks
- PDK system — bundle layers, factories, cross-sections, and technology into reusable packages
Getting Started
Installation
KFactory is available on PyPI and requires Python 3.12+.
uv add kfactory
# or with pip
pip install kfactory
Development
just dev
This installs the development environment and sets up pre-commit hooks.
Ecosystem
| Package | Description |
|---|---|
| gdsfactory | Full-featured chip design framework — KFactory is its layout backend |
| kfnetlist | Standalone netlist extraction and generation |
Documentation
Full documentation is available at gdsfactory.github.io/kfactory.
Upgrading from an earlier version? See the migration guide.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kfactory-3.0.0rc4.tar.gz.
File metadata
- Download URL: kfactory-3.0.0rc4.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b57e4ef9f49a006dd941d87c09bdc4aa23210fe4e30a56cc4341ad7f65372b41
|
|
| MD5 |
68fad66f1fc823c629802cd52548272e
|
|
| BLAKE2b-256 |
d7c92b9633cfcd7c63b4b6bb07d51896b37bfcb54db96cfbdde21356a8e38350
|
File details
Details for the file kfactory-3.0.0rc4-py3-none-any.whl.
File metadata
- Download URL: kfactory-3.0.0rc4-py3-none-any.whl
- Upload date:
- Size: 270.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6a037fb1d5e94edc708a99ff5fde3e6a121262f7e93845362e75c45881f1106
|
|
| MD5 |
a3d034aa409e2f72d854060b6754e55a
|
|
| BLAKE2b-256 |
16f61ef3349343850ff93d0f3fd9569fa3ffb01a5cde85863f2359f5e8e23558
|