Describe the bug
Subclassing the WebvizPluginABC and calling plugin_layout crashes unless the plugin you are writing is installed as a package in your python environment.
How to reproduce
import webviz_config
class MyPlugin(webviz_config.WebvizPluginABC):
def layout(self):
return ""
MyPlugin().plugin_layout()
... webviz-config/webviz_config/_plugin_abc.py", line 185, in _make_extended_deprecation_warnings
dist_name = PLUGIN_METADATA[plugin_name]["dist_name"]
KeyError: 'MyPlugin'
Expected behavior
I expect plugin_layout to return the layout.
Additional context
We are using our webviz plugin by importing it (without installing it) and adding it to a dash app manually.
Suggested fix
I think iterating through installed packages in _make_extended_deprecation_warnings is a bit shady. Maybe find another way of doing something similar. A minimal fix is to silently skip if it fails?
Describe the bug Subclassing the WebvizPluginABC and calling plugin_layout crashes unless the plugin you are writing is installed as a package in your python environment.
How to reproduce
Expected behavior I expect plugin_layout to return the layout.
Additional context We are using our webviz plugin by importing it (without installing it) and adding it to a dash app manually.
Suggested fix I think iterating through installed packages in _make_extended_deprecation_warnings is a bit shady. Maybe find another way of doing something similar. A minimal fix is to silently skip if it fails?