#!/usr/bin/env python3 import data_lib import sys data = data_lib.Data(validate_versions=True) def f(val): return (str(val)+" ")[0:8] for pipeline_name, pipeline in data.pipelines.items(): print(pipeline_name) print("".join("=" for _ in pipeline_name)) by_n = data_lib.group_by_n(pipeline) for n in sorted(by_n.keys()): d = by_n[n] scores = [ i.score/n for i in d] scores.sort() l = len(scores) avg = sum(scores) / l print(f"{n:8}: {len(scores):4}x {len(list(1 for i in d if i.error)):4}x-err {f(avg)} 10%:{f(scores[l//10])} 90%:{f(scores[l-1-l//10])}") if any(i.mistakes is not None for i in d): scores = [ i.mistakes/n for i in d] scores.sort() l = len(scores) avg = sum(scores) / l print(f" mistakes: {f(avg)} 10%:{f(scores[l//10])} 90%:{f(scores[l-1-l//10])}") for arg in sys.argv[1:]: scores = [ eval(arg) for i in d] scores.sort() l = len(scores) avg = sum(scores) / l print(f"{arg:30}{f(avg)} 10%:{f(scores[l//10])} 90%:{f(scores[l-1-l//10])}") print()