Closed ruudkassing closed 1 year ago
The fix is very simple btw: removing the kwarg reference_type
from create_metrics_pipeline()
and then using cls = get_metrics_pipeline_class(settings.reference_type, reference)
.
I didn't know what your contributor policy is, so for now I only created this issue ticket. I can create a pull request if you'd like and allow me.
Hi, thanks for reporting, we will have a look!
@mbaak this fix is relatively simple. I don't mind creating a pull request to fix it.
Sorry, I totally forgot. Please do!
When calling
pm_stability_metrics
popmon attribute on a Pandas dataframe we noticed that aTypeError
is raised forSelfReferenceMetricsPipeline
:Which is surprising because we set
reference_type="external"
, so we expect popmon to create anExternalReferenceMetricsPipeline
object.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_type
with as default "self". As a result, the pipeline class is created using the kwargreference_type
instead 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
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).