KLayout version 0.30.4 doesn't let me import Plugin python class

edited September 16 in Python scripting

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

Sign In or Register to comment.