I can see the immediate convenience, and technically it might not be an issue thanks to the unique id of each plug-in, but aren’t we just moving the problem to where it becomes difficult to debug?
For example, how will you know which of these are causing problems? In the terminal, it would output the problem along with the name of the plug-in.
Currently, they all require a unique name, and their label attribute is provided to enable you to both condense and prettify their names in GUIs.
class MyUniqueCollector(...):
label = "Collect"
If you use the package as a namespace to the name of each plug-in, you could avoid this and as an added bonus also efficiently be able to tell which groups of plug-ins have an implicit relationship.
With this workflow of having long descriptive names, and short names for the GUI, it can be difficult to narrow down where a plugin lives.
This has been solved in pyblish-qml with the Perspective view, and would be solved as well for pyblish-lite. I would argue that it might be useful to easily toggle between the label names and the full class names.
This could be a setting for each GUI, where you toggle the label names on or off. What do you think?