skillfed

klayout

KLayout standalone Python package

klayout v0.30.10 407.9K downloads/30d#6,884 on PyPI1,168
Copyleft license GPL-3.0-or-later Active released

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 klayout

uv

uv add klayout

poetry

poetry add klayout

Installing 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

Operating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2Programming Language :: Python :: 3Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)

Tags

EDA layout viewer Pythoncircuit design automation scriptingGDS layout processingchip design layout toolselectronic design layout library
edalayout-designchip-design

More Electronic Design Automation (EDA) packages