This PR adds a simple KPI framework which can be run via the command line or from a downstream Python application.
The basic idea is that pywcmp/kpi:WMOCoreMetadataProfileKeyPerformanceIndicators will implement all the approved KPIs as functions which return a tuple of total and score. pywcmp/kpi:WMOCoreMetadataProfileKeyPerformanceIndicators.run_kpis() runs all the KPIs and calculates a total raw score as well as total percentage, returned as a dict. This allows for reporting to the CLI on stdout, or in a downstream application.
In addition, a number of small changes (function annotations, etc.) for housekeeping are added.
This PR adds a simple KPI framework which can be run via the command line or from a downstream Python application.
The basic idea is that
pywcmp/kpi:WMOCoreMetadataProfileKeyPerformanceIndicators
will implement all the approved KPIs as functions which return a tuple of total and score.pywcmp/kpi:WMOCoreMetadataProfileKeyPerformanceIndicators.run_kpis()
runs all the KPIs and calculates a total raw score as well as total percentage, returned as adict
. This allows for reporting to the CLI on stdout, or in a downstream application.In addition, a number of small changes (function annotations, etc.) for housekeeping are added.