title | author | date | version | |
---|---|---|---|---|
Proposal for releasing a Python 3 compatible version of PyMunin |
Sandro (@penguinpee) |
2022-06-10 |
0.1 |
Python 2 has been replaced by Python 3. After an extended transition period, support for Python 2 has finally stopped. The final version of Python 2, 2.7.18, was released in April 2020.
Munin Monitoring no longer accepts plugins written in Python 21. Transitioning PyMunin to Python 3 is therefore mandatory to allow plugin developers to write plugins in Python using the PyMunin framework.
I propose to drop Python 2 support from PyMunin entirely. In my opinion the effort needed for a dual stack approach is wasted. For legacy plugins, the current release of PyMunin will remain available in PyPI. Plugins that still require it can define a specific version dependency.
Currently PyMunin is released together with a number of plugins. These plugins showcase the usefulness of the framework and can also serve as reference or starting point for plugin development.
However, these plugins come with their own dependencies, which are only necessary for the plugin in question. For PyMunin to be accepted as a framework for writing Munin plugins, it should be possible to install just PyMunin, without any extras. That keeps the number of dependencies for the framework, and thus plugins using it, small.
It will also mean less effort for package maintainers including PyMunin as they would object to including Munin plugins from a variety of sources.
I propose to move the plugins to a separate package, say PyMuninPlugins
.
I haven't taken a close look at all plugins, yet, and what graphs they produce. Keeping the plugins in the current release and re-releasing them on their own, would also be an option, I suppose.
I think it's worth the effort to compare the existing plugins to whats on offer in Munin core (master2 and stable3) and contrib 4. The plugins now in PyMunin may be a good addition, replacement or merge candidate for plugins published there. It appears that quite a number of plugins in the contrib repository are not being looked after.
At the same time the plugins get the exposure they deserve and, by entailment, so does the PyMunin module.
It's a bit off-topic, but I wanted it to be mentioned at least.
The information available on GitHub5, PyPI6 and the Project Site7 need some looking after. Some of the links are broken due to Munin Monitoring having a new home as well as GitHub's move to the github.io
domain for user pages.
Ali Onur Uyar (@aouyar): ''I hope that more people will be using PyMunin for developing plugins in the future.''
Let's make it happen!
Footnotes
-
http://guide.munin-monitoring.org/en/latest/develop/plugins/advanced-topics.html?highlight=python#python-plugins ↩
-
https://github.com/munin-monitoring/munin/tree/master/plugins ↩
-
https://github.com/munin-monitoring/munin/tree/stable-2.0/plugins ↩
-
https://github.com/munin-monitoring/contrib/tree/master/plugins ↩