It looks like you're new here. If you want to get involved, click one of these buttons!
Hello!
I noticed that KLayout python package got updated over the weekend, so I tried to include it in our project, but it caused CI pipeline to fail. The problem boils down to trying to run this code in python:
import klayout.lay
x = klayout.lay.Plugin()
With klayout==0.30.3 this executes just fine. With klayout==0.30.4 I get error:
AttributeError: module 'klayout.lay' has no attribute 'Plugin'
I suspect this module got renamed or moved somewhere due to these changes?
What would be the recommended way of using features under the Plugin
and PluginFactory
classes?
Comments
Plugin and PluginFactory is still in lay, but it got tied to the presence of Qt, which is not the case in the klayout Python module.
How can you use "Plugin" from an application without Qt? Plugin is a concept that goes into the layout view, and the KLayout module does not provide a main window with views.
I think I can bring "Plugin" and "PluginFactory" back without Qt, but I am curious how you are able to use it in a meaningful way.
In the application (with Qt, with UI), "Plugin" and "PluginFactory" are still available in klayout.lay.
Matthias
Hello, apologies for delayed response.
Thanks for detailing what was the change between 0.30.3 and 0.30.4 with respect to Plugin and PluginFactory.
We don't have any purposeful use of these modules using standalone KLayout python library. One of our CI pipelines was simply failing when trying to execute code where a class of ours was implementing Plugin, and our CI does not currently run anything through KLayout GUI instance. We will just make sure that our code using Plugin and PluginFactory is not reachable with our current CI pipeline. I will also test manually that within running KLayout GUI instance our code regarding Plugin still works.
No need to bring Plugin and PluginFactory to python module on our account
Best regards,
Pavel Smirnov-Ylikangas