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 @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…
There is some hope here though: the next version 0.28.13 will be based on a recent version of MSYS2, so with some luck you can build a module that fits you.
Matthias
Hi @wsteffe,
MSYS is a rolling release which makes it extremely difficult to give advise about how to build it. If there were stable releases I'd say something like "take version 22.4 and compile" but there is no such thing. The only opti…
Hi Lukas,
The guiding shape layer can be obtained through:
ly.guiding_shape_layer()
This is not a new feature. It has been there already.
Error and guiding shape layers are hidden layers so they are clearly marked as not to be delivered when wri…
Hi Lukas,
sure ... I mean the problem is that while "load" populates the Technology, it does not register it. Only "create_technology" does so. A plain Technology object is provided as a way to read and write Technology files, n…
Hi Thomas,
I am upgrading the Windows libraries currently because of this issue: https://www.klayout.de/forum/discussion/2399/red-alert-klayout-package-manager-will-stop-working-beginning-of-2024-with-github-hosted-packages#latest
It's likely the …
Hi Chris,
I meant I wonder why you need to manipulate a live layout. That is like if Word was changing your text to show you spelling errors (contrived example maybe). I though that in order to highlight some error regions for example, you could di…
@holoeye Like RawRanger shows above you can enable multiple threads for rendering.
GPU is not involved at all and does not help. The performance comes from smart optimization that is beyond GPU capabilities.
There is a know issue with particular i…
@RawrRanger Many thanks for this script.
A slight performance improvement is possible by using the "split_..." functions which deliver both the match/non-match versions in one step, e.g.
(inside, not_inside) = l1.split_inside(l2)
But I …
Yes, thanks once again for the explanation :)
@anlinus A Layout will always have some fundamental grid as coordinates are integer multiples of the database unit. So when you plan some layout, make sure that all resulting shapes are on that grid.
I…
No sorry, I won't comment on this. You're not serious about showing me a commercial feature and asking whether to get this for free.
Your putting me at risk of getting in trouble with Mentor. Are you aware of this?
Matthias
I'm sorry - that limit is hardcoded currently (https://github.com/KLayout/klayout/blob/48c56619ec5dac0eb33949944b9d316a8824872f/src/plugins/tools/net_tracer/lay_plugin/layNetTracerDialog.cc#L789).
That is to prevent long running operations triggere…
That depends on the capabilities of the PNG library, but in my experience, the limit is around 50k x 50k pixels.
It's somewhat better with monochrome images.
Matthias
Hi @dick_freebird - That's actually weird ... .lyp files should not change the order. If you save a .lyp and load it, it really should use the order you saved it into.
You mean that is not the case? Like you save your layer list layout to .lyp, lo…
Hi @dick_freebird,
basically the layer properties files are defining an order and that is supposed to stay like it is.
My approach is that: if you have some technology that defines layers like a Cadence Techfile, then you setup these layers in a .…
Hi Lukas,
It's unfortunately the Git protocol is very bad in delivering single files only. But I found a solution that is acceptable. It involves caching all the repository description files on the Salt Mine server and using that cached information…
Hi Lukas,
the "try" block does not catch the exception - it only inserts a "finally" block. The exception is forwarded to the system which places a text on the error layer.
Basically the error layer is a valid layer inside the …