First of all thank you for working on several boosting LSS versions (xgboost, catboost, lightgbm)!
I did notice that both xgb and lightgbm have the (at first sight) exact same distributions.py submodule that is the torch core of for any distribution supported as a boosting prediction:
Is there a specific reason to not share the distribution modules (and any other shared functionality, like plotting of distribution results) in a common Python module that then gets imported/shared as a common dependency here to avoid duplication; and separate development from adding distributions vs adding functionality to the boosting part of the modules.