Can't construct pipeline with custom plugin from Python code

I’m trying to write a custom plugin and embed it into a python app. I use this python example and I test the plugin with the command GST_PLUGIN_PATH="$PWD" gst-launch-1.0 videotestsrc ! ExampleTransform ! fakesink and it seems it works. At least pipeline sets to the PLAYING state.

I try to build the same pipeline with the same plugin into python code:

import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstBase', '1.0')
gi.require_version('GstVideo', '1.0')

from gi.repository import Gst, GObject

Gst.init()


def main():
    pipeline = Gst.parse_launch(
        "videotestsrc ! ExampleTransform ! fakesink"
    )
    
    pipeline.set_state(Gst.State.PLAYING)

    try:
        loop = GObject.MainLoop()
        loop.run()
    except KeyboardInterrupt:
        pass
    finally:
        pipeline.set_state(Gst.State.NULL)


if __name__ == "__main__":
    main()

When I run it with GST_PLUGIN_PATH="$PWD" python3 main2.py I fail with error:

(python3:180): GStreamer-Base-CRITICAL **: 14:28:17.678: gst_base_transform_init: assertion 'pad_template != NULL' failed
Traceback (most recent call last):
  File "/app/main2.py", line 28, in <module>
    main()
  File "/app/main2.py", line 12, in main
    pipeline = Gst.parse_launch(
gi.repository.GLib.GError: gst_parse_error: could not link videotestsrc0 to exampletransform+exampletransform0 (3)

I’ve looked further from the forum and gitlab issues and I think I’m experiencing the same issue as described here. As of today it’s not resolved, though