When calling pm_stability_metrics popmon attribute on a Pandas dataframe we noticed that a TypeError is raised for SelfReferenceMetricsPipeline:
TypeError("__init__() got an unexpected keyword argument 'ref_hists_key'")
Which is surprising because we set reference_type="external", so we expect popmon to create an ExternalReferenceMetricsPipeline object.
After some investigation it turns out that in popmon->pipeline->metrics.py->stability_metrics() on line 54-58 you set kwargs["ref_hists_key"] = "ref_hists" because the reference type is set to "external". Then, you create the metrics pipeline and pass the settings and kwargs. However, in popmon->pipeline->metrics_piplines.py->create_metrics_pipline() it uses a kwarg reference_type with as default "self". As a result, the pipeline class is created using the kwarg reference_type instead of via the setting settings.reference_type. Therefore, whenever creating the stability metrics report from a Pandas dataframe the reference type is always "self", without control over it.
I guess this is some leftover kwarg that was forgotten to migrate to the new Settings class after the recent settings migration of popmon. Could you please fix this issue as it's preventing us from updating from popmon to more recent stable versions (1.4).
When calling
pm_stability_metricspopmon attribute on a Pandas dataframe we noticed that aTypeErroris raised forSelfReferenceMetricsPipeline:Which is surprising because we set
reference_type="external", so we expect popmon to create anExternalReferenceMetricsPipelineobject.After some investigation it turns out that in
popmon->pipeline->metrics.py->stability_metrics()on line 54-58 you setkwargs["ref_hists_key"] = "ref_hists"because the reference type is set to "external". Then, you create the metrics pipeline and pass the settings and kwargs. However, inpopmon->pipeline->metrics_piplines.py->create_metrics_pipline()it uses a kwargreference_typewith as default "self". As a result, the pipeline class is created using the kwargreference_typeinstead of via the settingsettings.reference_type. Therefore, whenever creating the stability metrics report from a Pandas dataframe the reference type is always "self", without control over it.I guess this is some leftover kwarg that was forgotten to migrate to the new
Settingsclass after the recent settings migration of popmon. Could you please fix this issue as it's preventing us from updating from popmon to more recent stable versions (1.4).