Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

kfactory

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kfactory

KLayout API implementation of gdsfactory

  • 0.21.11
  • PyPI
  • Socket score

Maintainers
1

KFactory 0.21.11

Kfactory is a gdsfactory-like tool. It is built with KLayout as a backend instead of gdstk, but aims to offer the similar features.

[!CAUTION] KFactory is still experimental Expect API changes without notice (even though we try to keep it to a minimum!). The core should be fairly stable with the exception of the all-angle router. It is likely to change in future releases

It is suggest to pin the version of KFactory in requirements.txt or pyproject.toml with kfactory==0.21.11 for example.

Features similar to gdsfactory:

  • Cells & decorator for caching & storing cells
  • Simple routing (point to point and simpl bundle routes for electrical routes)
  • Basic cells like euler/circular bends, taper, waveguide
  • Path extrusion (no interface with CrossSections)
  • Jupyter integration
  • PDK/package configuration
  • Plugin system (simulations etc.) - Check kplugins
  • Generic PDK example - Check kgeneric

Notable missing Features:

  • CrossSection
  • Netlist/Schematics and LVS
  • More advanced routing

New/Improved Features:

  • Fully hierarchical bi-directional conversion to YAML
  • Automatic snapping to grid thanks to KLayout
  • More features for vector geometries due to concept of Point/Edge/Vector/Polygon from Klayout
  • Easy booleans thanks to KLayout Regions
  • Enclosures: use the concept of enclosures, similar to cross sections, to allow automatic calculation of boolean layers for structures based on minkowski sum, which are built into KLayout

Installation

kfactory is available on pypi

pip install kfactory

At the moment kfactory works only on python 3.10 and above

Development Installation

A development environment can be installed with

python -m pip install -e .[dev]

It is defined in pyproject.toml. For committing pre-commit should be installed with pre-commit install.

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc