Complete Python type annotations, parameter constraints, return dataclasses, and raised exceptions.
moveq_core.equitycompute_gini(values, weights) -> floatCalculates the population-weighted Gini coefficient via numerical integration of the Lorenz curve.
values (np.ndarray | Sequence[float]): 1D array of non-negative service levels.weights (np.ndarray | Sequence[float]): 1D array of non-negative population weights (\(\sum w_i > 0\)).ValueError if lengths mismatch, weights contain negatives or sum to 0, values contain negatives, or inputs contain NaN/Inf.compute_palma_ratio(values, weights) -> floatCalculates the Palma ratio (top 10% mean service / bottom 40% mean service) with continuous boundary splitting.
compute_concentration_index(service, rank, population) -> floatCalculates the Wagstaff Concentration Index with group-averaged fractional ranks for tied rank values.
moveq_core.scorecompute_score(terms, weights, *, labels=None, n_areas=None, context=None) -> ScoreResultEvaluates a weighted 0-100 composite score, dropping missing terms (None) and renormalizing active design weights.
terms (dict[str, float | None]): Dictionary mapping indicator keys to values in \([0.0, 1.0]\) or None.weights (dict[str, float]): Dictionary mapping indicator keys to strictly positive design weights (\(w_i > 0\)).ScoreResult dataclass containing score, components, note, n_areas, context.moveq_catalogue.catalogueCatalogue(base_sections: list[str], country: str)Cross-country questionnaire harmonization registry.
cat.register(section_id, action, replacement_title=None, note=None)cat.validate() -> list[str]cat.summary() -> dict[str, int]