klayout
KLayout standalone Python package
What it is and what it does
KLayout is a standalone Python package that brings layout design and manipulation capabilities to Python scripts. It is primarily used in electronic design automation (EDA) workflows to programmatically create, read, and modify integrated circuit layouts. The package exposes a Python API to KLayout's core functionality, allowing developers to automate design tasks, perform batch processing of layout files, and integrate layout operations into larger design flows.
The package has no runtime dependencies and is distributed as pre-compiled wheels across Linux, macOS, and Windows. It is actively maintained with regular releases, making it a stable choice for production EDA automation. The GPL-3.0-or-later license means it is free to use in open-source projects but requires careful consideration for proprietary applications.
Use it for:
- Automate batch processing of layout files in design verification and manufacturing workflows.
- Programmatically generate or modify circuit layouts as part of a design automation pipeline.
- Integrate layout analysis and manipulation into custom EDA tools or design rule checking scripts.
- Develop Python-based design scripts that interact with KLayout's layout database and geometry operations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
KLayout is a Python package for layout viewing, editing, and scripting in electronic design automation (EDA) workflows, providing programmatic access to design manipulation and analysis.
Yes, if you need Python-based layout manipulation in EDA workflows and can work with a GPL-3.0-or-later copyleft license. The package is actively maintained, has no runtime dependencies, and offers broad platform support. No, if your project requires proprietary licensing or you need a permissively licensed alternative.
Install
klayout on PyPI
pip
pip install klayoutuv
uv add klayoutpoetry
poetry add klayoutInstalling klayout
Before you install
Medium install friction due to compiled wheels across multiple platforms and Python versions. Active maintenance with recent releases; last commit 2026-08-14 and latest release 2026-07-28 indicate ongoing development.
License in practice
GPL-3.0-or-later copyleft license means any derivative work or distribution must also be open-source under compatible terms. Suitable for open-source projects; proprietary use requires careful review or licensing negotiation.
Quickstart
pip install klayout
import klayout.db as db
layout = db.Layout()
layer = layout.layer(10, 0)
No external runtime dependencies, but the package is a compiled extension; ensure your Python version and platform (Linux, macOS, Windows) match an available wheel.
Verify before relying
- Whether the package requires Qt libraries at runtime or only at build time for GUI functionality.
- Specific EDA file formats (GDS, LEF, DEF) supported by the Python API beyond layout creation.
- Performance characteristics and scalability for large design files.
- Whether Python 2 support mentioned in classifiers is still actively maintained.
Package facts
| License | GPL-3.0-or-later (copyleft) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 17 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 407,880/month — #6,884 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: klayout-0.30.10-cp310-cp310-macosx_10_9_x86_64.whl; klayout-0.30.10-cp310-cp310-macosx_11_0_arm64.whl; klayout-0.30.10-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; klayout-0.30.10-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; klayout-0.30.10-cp310-cp310-musllinux_1_2_x86_64.whl; klayout-0.30.10-cp310-cp310-win32.whl; klayout-0.30.10-cp310-cp310-win_amd64.whl; klayout-0.30.10-cp311-cp311-macosx_10_9_x86_64.whl; klayout-0.30.10-cp311-cp311-macosx_11_0_arm64.whl; klayout-0.30.10-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; klayout-0.30.10-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; klayout-0.30.10-cp311-cp311-musllinux_1_2_x86_64.whl; klayout-0.30.10-cp311-cp311-win32.whl; klayout-0.30.10-cp311-cp311-win_amd64.whl; klayout-0.30.10-cp312-cp312-macosx_10_13_x86_64.whl; klayout-0.30.10-cp312-cp312-macosx_11_0_arm64.whl; klayout-0.30.10-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl; klayout-0.30.10-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; klayout-0.30.10-cp312-cp312-musllinux_1_2_x86_64.whl; klayout-0.30.10-cp312-cp312-win32.whl
Tags
More Electronic Design Automation (EDA) packages
Parses and elaborates SystemRDL 2.0 register…
permissive · top 15,000 on PyPI
planarityTests whether a graph is planar, computes…
permissive · top 15,000 on PyPI
cocotbcocotb is a Python framework for writing…
permissive · top 15,000 on PyPI
pyslangpyslang provides Python bindings to parse,…
permissive · top 15,000 on PyPI
peakrdl-ipxactConverts between SystemRDL register…
copyleft · top 15,000 on PyPI
cocotb-coverageAdds constrained randomization and functional…
permissive · top 15,000 on PyPI
kfactoryKFactory is a Python framework for designing…
unclear · top 15,000 on PyPI
kwasmkwasm bundles KLayout's WebAssembly-compiled…
copyleft · top 15,000 on PyPI
gdsfactoryGDSFactory generates CAD files (GDS, OASIS,…
unclear · top 15,000 on PyPI
elvis-lvsElvis extracts connectivity from GDS layout…
unclear · top 15,000 on PyPI
gdsfactoryplusGDSFactory+ extends the GDSFactory library with…
unclear · top 15,000 on PyPI
edalizeEdalize abstracts the interface to EDA tools…
permissive · top 15,000 on PyPI
dvsimDVSim is a Python-based build and run system…
permissive · top 15,000 on PyPI
siliconcompilerSiliconCompiler is a modular hardware build…
permissive · top 15,000 on PyPI
flydslFlyDSL is a Python DSL and embedded MLIR…
permissive · top 15,000 on PyPI
gdstkGdstk is a Python module for creating and…
unclear · top 15,000 on PyPI