Matthias

Hi Jim, you can use master or any other branch, but without warranty. The usual approach (and the one favoured by GitHub) is: features are developed in branches. When they are considered stable enough they are integrated into the master (pull request). Hence the master is kind of "latest greatest", but with a certain risk of being spoiled. There are also forks from other user with their own masters and branches. Don't confuse them with the ones from the KLayout project. But eventually, when the master is considered to have a sufficient quality, a release is made by creating a release tag (https://github.com/KLayout/klayout/releases). A release is a snapshot which is then turned into Windows binaries, Linux packages, PyPI wheels etc. This this is a lengthy process and I don't want to do this too often. Matthias

About

Username
Matthias
Joined
Visits
1,513
Last Active
Roles
Member

Comments

  • @shipfire First, please open a new discussion for such questions. This discussion is already old. Second, please use MarkDown for marking code. A line with triple backticks before and after the code works wonders (same as on GitHub for example). Re…
  • @BillG and @sekigawa "strm2txt" may not work as it reads the file before writing it as text and the reader will fail already. For the purpose of debugging file issues I created a direct conversion tool (https://github.com/klayoutmatthias/…
  • @wsteffe Thanks, but I have a branch already (windows-build-ucrt64) which contains some more changes which I think are needed. Maybe you want to take a look at that. Matthias
  • @sekigawa Thanks for mentioning XlsWriter. There is this ticket (https://github.com/KLayout/klayout/issues/1494) and there are two requests, one from you :) I will try to include the XlsWriter package in the next release. I am generating Excel she…
  • The pure Python way is to create a Region object and use "area" to get the area. But in general the more efficient way is DRC script: deep # hierarchical mode for best efficiencyin = input(1, 0) # layer to compute area fromputs in.…
  • @ajaout You can format code in Markdown with a triple backtick line before and after the code (like on GitHub for example). The problem should be easy to solve if you use Python's methods to write to files, like the ones explained here: https://www…
  • @mastrolorenzo The ">" operator does not return edge pairs as there is no consistent definition of "opposite edge". The details are explained here: https://www.klayout.de/doc-qt5/about/drc_ref_global.html#width You can separa…
  • @RawrRanger Thanks as usual ... :) but this is why I put this tip in place: (Image) Matthias
  • If you're in particular interested in the inner corners and the objects you treat are larger than 40µm in dimension, you can also consider using the Minkowski sum with a circle. The Minkowski sum acts like a "pen" that is drawn around the …
  • @jiunnweiyeh and @RawRanger Version 0.28.14 now has the EdgePair#distance attribute. Maybe you would like to try this. Best regards, Matthias
  • Thanks @wsteffe! I have merged the PR and I will try to include the ucrt64 build in the deployment. I can't promise a quick integration however. Best regards, Matthias
  • I have just released version 0.28.14 where EdgePair features a method "distance". It will return the minimum distance between every two points on edge 1 and 2. It is based on the definition of an euclidian distance of a point from an edge…
  • Hi @wsteffe, I would rather go for Anaconda or some other native solution than staying with MSYS. But I don't have the bandwidth to do that. Neither for another adventure towards another rolling release or a new CRT. There is hardly time left for f…
  • In Python, the solution is simply ly = pya.Layout()ly.read("file1.gds")ly.read("file2.gds")... Cells with the same name in "file1.gds" and "file2.gds" will be merged into one cell. If that happens for the to…
  • Hi @wsteffe, basically this should work. Usually the .pyd files come with some Python wrapper (like __init__.py) that loads them internally and adds Python stuff like __all__. Also, if a package directory features a "python" folder, it is…
  • Please use the issue tracker on GitHub for bug reports (https://github.com/KLayout/klayout). This discussion is about a different topic. But I guess you're not facing a bug. Instead you are editing objects inside the hierarchy and that will make al…
  • Hi @RawrRanger, thanks for bringing this up. I noticed that on C++ level, the edge pairs have a distance property, but not on Python or Ruby level. I will add this implementation to the API. The C++ implementation computes the distance in a slight…
  • Hi @Default, this will not work. The cell you see is not the target cell, but an internal cache located in the library. The only acceptable way of storing information is to use a hidden parameter. However, you cannot change a parameter value in &…
  • Hi @sekigawa, I picked up your suggestion about the HTTP_PROXY variable, but I found it may interfere with curl's own mechanism when built against curl. I decided to call the variable "KLAYOUT_GIT_HTTP_PROXY", so it is unique. I tested t…
  • Hi @zlnelson, I think this is easier in DRC language. My approach would be that: trace_width = 1.ummetal_layer = input(1, 0)trace_layer = metal_layer.sized(0.5 * trace_width) - metal_layer.sized(-0.5 * trace_width)trace_layer.output(3, 0) Matthi…
  • No, no plans for that. The feature is called 2.5d because it is an extruded 2d view, not a real 3d view. Matthias
  • Very good. I'm happy to hear it works on your side too! :) Best regards, Matthias
  • I fixed the deployment script and uploaded new installers. Version is still 0.28.13 because only DLLs got added. Please re-install using the Windows installers from https://www.klayout.de/build.html. I can import numpy, scipy, pandas, matplotlib an…
  • I have created a ticket for this here: https://github.com/KLayout/klayout/issues/1553 Matthias
  • Okay, found the issue: some DLLs that the .pyd depend on are not installed. I got it working by copying /mingw64/bin/libopenblas.dll/mingw64/bin/libgomp-1.dll/mingw64/bin/libgfortran-5.dll/mingw64/bin/libquadmath-0.dll to the same place than "…
  • I stand corrected: the DLLs are now called ".pyd" - so they are there. It's a different problem then. Matthias
  • Looks like for some reason the essential DLLs are missing in the installation. I assume the packaging script has some trouble with the new MSYS version. I will try to fix that and provide new Windows packages. Matthias
  • I could reproduce the problem after wiping my system entirely. So I am suspecting some essential DLL is missing. sys.path looks normal to me. I will try to find the missing pieces ... Matthias
  • Hi @sekigawa, thanks for these investigations. I could not reproduce the problems myself yet, but I will try with different machines. The ones I tested had numpy installed on them. I actually did not change anything between 0.28.12 and 0.28.13 ex…
  • Very good! Thanks for you efforts. I'm looking forward to debugging things. I really appreciate getting real-world cases - synthetic ones suck. Best regards, Matthias