datasets

Форк
0
/
format.py 
49 строк · 1.6 Кб
1
import json
2
import sys
3

4

5
def format_json_to_md(input_json_file, output_md_file):
6
    with open(input_json_file, encoding="utf-8") as f:
7
        results = json.load(f)
8

9
    output_md = ["<details>", "<summary>Show updated benchmarks!</summary>", " "]
10

11
    for benchmark_name in sorted(results):
12
        benchmark_res = results[benchmark_name]
13

14
        benchmark_file_name = benchmark_name.split("/")[-1]
15
        output_md.append(f"### Benchmark: {benchmark_file_name}")
16

17
        title = "| metric |"
18
        lines = "|--------|"
19
        value = "| new / old (diff) |"
20
        for metric_name in sorted(benchmark_res):
21
            metric_vals = benchmark_res[metric_name]
22
            new_val = metric_vals["new"]
23
            old_val = metric_vals.get("old", None)
24
            dif_val = metric_vals.get("diff", None)
25

26
            val_str = f" {new_val:f}" if isinstance(new_val, (int, float)) else "None"
27

28
            if old_val is not None:
29
                val_str += f" / {old_val:f}" if isinstance(old_val, (int, float)) else "None"
30
            if dif_val is not None:
31
                val_str += f" ({dif_val:f})" if isinstance(dif_val, (int, float)) else "None"
32

33
            title += " " + metric_name + " |"
34
            lines += "---|"
35
            value += val_str + " |"
36

37
        output_md += [title, lines, value, " "]
38

39
    output_md.append("</details>")
40

41
    with open(output_md_file, "w", encoding="utf-8") as f:
42
        f.writelines("\n".join(output_md))
43

44

45
if __name__ == "__main__":
46
    input_json_file = sys.argv[1]
47
    output_md_file = sys.argv[2]
48

49
    format_json_to_md(input_json_file, output_md_file)
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.