Can a plasmoid be written in Python (not C++)?

I’ve found this article documenting support for KDE Plasma 4, but subsequent questions asking about Plasma 5’s support:

  1. Writing a Plasma widget in Python
  2. Writing Panel App in Python

…have gone unsolved. I’ve wanted to for some time, and considering that Herzenschein++ 🩵⭐: "My new blog post is now up! ## You can contribut…" - Furry.Engineer - Duct tape, hotfixes, and poor soldering! was recently posted, I thought it worth asking (because there’s a probability it’s merely undocumented).

I write with Python and QT my own panel/toolbar:

obraz

Starting with KDE. I can drop .desktop files on it. Now two hover effect: shift to right (on pic) and color change. I add conf window to confiure colors with alpha, slide/show speed and to choose hover effect.
Main problem is Wayland doesn’t let me set pos x&y on screen so I use kwin rules for window to place this bar on left side (x=0) and y I have to change, depends on amount of elements. I want to finish this app and share here.
Did you also saw how weak is originally panel/toolbar?

@Radek, I’m not sure what you mean by “weak” in that context. Is that application of yours definitely a plasmoid (consumed by plasmashell)? I ask because I don’t see it rendering on the desktop or a panel in that screenshot. It appears to be an overlay.

What I mean weak. KDE/Plasma panel from the side with icons on it with hiding after leave, works very bad. Not always is showing (is glowing line means is filling mouse position but isn’t showing) How add elements from desktop? If I drag icon from desktop to panel area, panel doesn’t show.
My panel is separate app. Isn’t plasmoid.

Ah, @Radek, then thanks, but I have created a few PyQt6 applications already. I’m interested here in whether plasmoids can be written in Python (with QML, of course) because they have a myriad of restrictions.

In your case, the feature described in [Approved] Plasma 6 proposal: Remove or disable "Windowed widgets" by default (#67) · Issues · Plasma / Plasma Desktop · GitLab might have been useful, but I don’t know whether it was merely disabled by default, or removed, when that issue was closed.

This should be fixed by shell/panelview: restart unhide timer on drag leave (!4574) · Merge requests · Plasma / Plasma Workspace · GitLab if I understand your issue correctly.