The script rdiff_backup_classes.sh generates a simple class diagram in PlantUML format, which is itself rendered into an SVG class diagram, which most browsers should be able to render properly. This diagram shows only class inheritance but is properly sorted into rdiff-backup’s modules.
pyreverse-3 -k -m y -o svg rdiff_backup (from the
pylint package), the pyreverse class diagram looks less readable to me but it shows also composition/aggregation of classes.
The packages diagram generated by the same command is itself utterly useless.
Even if it might not make sense to write plug-ins for rdiff-backup, in the sense of "dropdown" external plug-ins, it definitely makes sense to define plug-in interfaces which makes it easier to disentangle the code, and extend it without inadvertently breaking other aspects.
The plug-ins interface is defined in a separate document.