skillfed

gdstk

Python module for creation and manipulation of GDSII files.

gdstk v1.0.1 213.0K downloads/30d#9,445 on PyPI493
License unclear Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation… (full text in the JSON record) Active released

What it is and what it does

Gdstk is a C++ library with a Python interface for designing and manipulating GDSII and OASIS files—the standard formats for electronic chip layouts, photonic circuits, and mechanical designs. It offers boolean operations on polygons, polygon offsetting, and efficient point-in-polygon testing. The package ships as pre-compiled wheels for modern Python versions on Windows, macOS, and Linux, with runtime dependencies on numpy and typing_extensions.

The library is used in electronic design automation, planar lightwave circuit design, and mechanical engineering workflows where complex CAD layouts need to be programmatically generated or modified. Its main constraint is that it requires Python >=3.9 and depends on compiled C++ components; however, pre-built wheels eliminate the need to compile locally on most platforms.

Use it for:

  • Programmatically generate chip layouts and mask designs for semiconductor manufacturing.
  • Create and manipulate photonic circuit layouts for integrated photonics applications.
  • Perform boolean operations on polygon sets for layout optimization and design verification.
  • Read and write GDSII and OASIS files in automated design workflows or batch processing.
  • Implement polygon offsetting for trace routing and feature scaling in CAD design scripts.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Gdstk is a Python module for creating and manipulating GDSII and OASIS files, with support for boolean operations, polygon offsetting, and point-in-polygon queries for CAD layout design.

Yes—if you work with GDSII or OASIS files in chip design, photonics, or mechanical CAD. Gdstk is actively maintained, has no known vulnerabilities, ships as pre-built wheels for common platforms, and offers performance improvements over earlier tools. The Boost Software License 1.0 is permissive and poses no commercial restrictions. Install friction is moderate due to C++ compilation, but wheels eliminate that for most users.

Install

gdstk on PyPI

pip

pip install gdstk

uv

uv add gdstk

poetry

poetry add gdstk

Installing gdstk

Before you install

Medium install friction due to compiled C++ components; wheels are pre-built for Python 3.10–3.13 on common platforms (macOS, Linux, Windows), reducing friction. Active maintenance with a release 29 days ago signals ongoing support.

License in practice

Licensed under Boost Software License 1.0 (BSL-1.0), a permissive open-source license allowing commercial and derivative use with minimal restrictions. License treatment marked unclear in metadata, but the raw text is a standard permissive license.

Quickstart

pip install gdstk

import gdstk

library = gdstk.Library()
cell = gdstk.Cell("example")
rect = gdstk.rectangle((0, 0), (10, 10))
cell.add(rect)
library.add(cell)
library.write_gds("output.gds")

Requires Python >=3.9; C++ build dependencies (zlib, qhull, CMake) needed only if compiling from source rather than installing pre-built wheels.

Verify before relying

  • Whether the package's performance gains over its predecessor remain consistent across different layout types and real-world use cases.
  • Completeness of type hints coverage beyond the 'Typing :: Typed' classifier.
  • Whether the unclear license treatment in metadata reflects an actual ambiguity or is a data artifact.

Package facts

License Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation… (full text in the JSON record) (unclear)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies 2 — numpy, typing_extensions
Maintenance actively maintained — 29 days since the last release
Last repo commit
First released
Downloads 212,997/month — #9,445 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: gdstk-1.0.1-cp310-cp310-macosx_10_9_universal2.whl; gdstk-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl; gdstk-1.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; gdstk-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl; gdstk-1.0.1-cp310-cp310-win_amd64.whl; gdstk-1.0.1-cp311-cp311-macosx_10_9_universal2.whl; gdstk-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl; gdstk-1.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; gdstk-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl; gdstk-1.0.1-cp311-cp311-win_amd64.whl; gdstk-1.0.1-cp312-cp312-macosx_10_13_universal2.whl; gdstk-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl; gdstk-1.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; gdstk-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl; gdstk-1.0.1-cp312-cp312-win_amd64.whl; gdstk-1.0.1-cp313-cp313-macosx_10_13_universal2.whl; gdstk-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl; gdstk-1.0.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; gdstk-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl; gdstk-1.0.1-cp313-cp313-win_amd64.whl

Keywords: GDSII, OASIS, CAD, layout

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: ManufacturingIntended Audience :: Science/ResearchLicense :: OSI Approved :: Boost Software License 1.0 (BSL-1.0)Operating System :: OS IndependentProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: Implementation :: CPythonTopic :: Scientific/Engineering :: Electronic Design Automation (EDA)Typing :: Typed

Tags

GDSII file creation and editingOASIS layout manipulationCAD design automationpolygon boolean operationschip design layout tools
edacad-designgdsii

More Electronic Design Automation (EDA) packages