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
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…
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…
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 "…
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
Hi @ashkan,
I am regularly upgrading the build environment as including new components forces me to do so. This means that also numpy versions change.
In 0.28.12 numpy was 1.21.0. In 0.28.13, numpy is 1.26.1.
I am not really familiar with numpy a…
Very good. Thanks for this discussion.
I favor the multi-process way as there is little overhead except that you basically need two times the memory for the layout because you load it into each process. But on the plus side you can parallelize acro…
I guess it is, but it is just a matter of time until it is no longer compatible with the pre-built version of KLayout. I'm sorry, but that is the way it is. MSYS is not really made for deploment of complex installations. I use it for the ready-to-go…
Hi @wsteffe,
Right now, a technology is referred to by a technology name for which there is only one repository system-wide. The Technology object cannot be used directly to attach it to a Layout for example.
But in order to register a temporary t…
No, Layout does not carry the filename. Layout is the geometry database, and filename is not an attribute of it. In the same way, layer colors are not attributes of the Layout object but something that belongs to LayoutView in that case.
The object…
Hi Kazzz,
Is $LD_LIBRARY_PATH actually working? To be frank I have not tried myself - I though there is not such thing on MSYS ..
Let me share with you my complete configuration to run the test suite on my Jenkins instance. Maybe this helps. I ass…
I am not sure whether this is coincidence, but I think this is exactly the same issue discussed here: https://www.klayout.de/forum/discussion/2419/pypi-load-technology#latest
TL;DR: this priblem is not related to Windows, but in the way you read th…
Hi @zhaoyj,
Have you tried specifying the full path in "KLAYOUT_HOME"? The start directory on Windows (i.e. ".") is not well defined.
And the command line you show - that looks like bash, but how exactly are you calling KLayout…
Hi @wsteffe ,
The way to persist the meta info is explained here: https://www.klayout.de/doc-qt5/code/class_LayoutMetaInfo.html.
You need to declare it persisted:
ly = RBA::Layout::newmi = RBA::LayoutMetaInfo::new("the-answer", 42.0)mi.…
Hi @holoeye,
I can promise to keep sample files private and not publish them or share them with anyone else, but I cannot give warranties beyond that and specifically I cannot sign an NDA. So exchanging test data needs a certain level of trust, but…
Hello @sekigawa,
thanks for sharing this code piece.
I'm sorry I missed that ... I am right now releasing 0.28.13 (for now without that patch). But I am sure there will be an update soon.
I just wonder whether it is not possible to configure a pr…
Hi @crizos,
The Layout object does not store the file path. Only the CellView does. You can load a file into a Layout, but when you transfer it into the view, the file name is not known. This is also the reason why filename is not an attribute of t…