Skip to main content

pygdsdesign provides some function to more efficiently create gds files.

Project description

PyGDSdesign

PyGDSdesign is a Python library designed to generate GDS files with Python scripts. The library's is built upon code from GDSpy, a popular open-source toolkit for layout design and manipulation. Moreover, PyGDSdesign use the power of Clipper, to execute precise boolean operations.

⚙️ Installation

🐍 From pypi

The simplest way is to install PyGDSdesign from pypi. Ensure that you have the required dependencies by running

conda install numpy scipy tqdm typing_extensions

Then just run pip install pygdsdesign.

⚒️ From source

Since PyGDSdesign incorporates C++ code that requires compilation (Clipper), ensure that your development environment supports compilation. For instance, you can use Microsoft Visual C++ for Windows.

To install pygdsdesign, simply run: pip install .

(You can also add the -e flag if you want to install the library in editable mode.)

After installing the library, it is recommended to verify the installation to ensure that all the code functions correctly. To do this, use pytest and run the tests provided in the examples folder.

🖼️ Gallery

Example of what you can do with pygdsdesign

Spiral resonator

spiral resonator

CPW resonators

cpw resonators

🛠️ How to start

You can find many scripts in the Examples/ folder showing different user cases.

📜 Licence

The library is shared under the Boost Software License.

🙏🏼 Acknowledgment

This library is authored by Étienne Dumur and incorporates significant code from GDSPY, a library written by Lucas H. Gabrielli. For boolean operations, pygdsdesign utilizes Clipper, a library developed by Angus Johnson. Furthermore, the library has been ported from Python 3.8 to 3.11 and beyond by Sacha Wos.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygdsdesign-0.17.9.tar.gz (156.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pygdsdesign-0.17.9-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

pygdsdesign-0.17.9-cp311-cp311-win_amd64.whl (225.2 kB view details)

Uploaded CPython 3.11Windows x86-64

File details

Details for the file pygdsdesign-0.17.9.tar.gz.

File metadata

  • Download URL: pygdsdesign-0.17.9.tar.gz
  • Upload date:
  • Size: 156.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for pygdsdesign-0.17.9.tar.gz
Algorithm Hash digest
SHA256 c94c1ae27566c40b387575a0fb3e4ccb96e69ef187e89db3f83c83ffe70b12a5
MD5 86fd657d4603604deec3bba52c44cc22
BLAKE2b-256 80e2b78393347e0d6a239ef62724d9087c0052bb30587f6d519d5280e4faeaf7

See more details on using hashes here.

File details

Details for the file pygdsdesign-0.17.9-py3-none-any.whl.

File metadata

  • Download URL: pygdsdesign-0.17.9-py3-none-any.whl
  • Upload date:
  • Size: 3.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.12

File hashes

Hashes for pygdsdesign-0.17.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1f3aca3e888b11d52962b98046aa6f6a4b8024a7d34c51aac44b251a8f85a6ba
MD5 b215a8ff56eebb9e3013ec7c4fd43dcf
BLAKE2b-256 072f740d553e844f1cab6d6c6c7e1c78ad283480b81e09623609b2c22523fe53

See more details on using hashes here.

File details

Details for the file pygdsdesign-0.17.9-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pygdsdesign-0.17.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ec2eb938ce8c1586bde62dd4ff0d691abe8ade4cc12afd78695ea6130e73fa96
MD5 5db4e0d55b43e76c7dcde6f57f76f7df
BLAKE2b-256 73f9921e627cd1a3f146df859753b1026f86611b6e5ab02d785579884df574c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page