From 3190306e6788872f7d28708f67e3b5be9ce5d2d5 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 07:05:01 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=20Bolt:=20Optimize=20load=5Fframework?= =?UTF-8?q?=5Fregistry=20with=20cache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: alinelena <3306823+alinelena@users.noreply.github.com> --- ml_peg/app/utils/utils.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ml_peg/app/utils/utils.py b/ml_peg/app/utils/utils.py index 54b105b7d..485e0f3f8 100644 --- a/ml_peg/app/utils/utils.py +++ b/ml_peg/app/utils/utils.py @@ -3,6 +3,7 @@ from __future__ import annotations from collections.abc import Mapping, MutableMapping, Sequence +import copy from functools import lru_cache import json from pathlib import Path @@ -891,9 +892,10 @@ def normalize_framework_id(framework_id: str) -> str: return cleaned -def load_framework_registry() -> dict[str, FrameworkEntry]: +@lru_cache(maxsize=1) +def _load_framework_registry() -> dict[str, FrameworkEntry]: """ - Load framework badge metadata from ``frameworks.yml``. + Load framework badge metadata from ``frameworks.yml`` (cached). Returns ------- @@ -947,6 +949,18 @@ def load_framework_registry() -> dict[str, FrameworkEntry]: return registry +def load_framework_registry() -> dict[str, FrameworkEntry]: + """ + Load framework badge metadata from ``frameworks.yml``. + + Returns + ------- + dict[str, FrameworkEntry] + Mapping of framework IDs to display configuration. + """ + return copy.deepcopy(_load_framework_registry()) + + def get_framework_config(framework_id: str) -> FrameworkEntry: """ Resolve framework metadata for badge and filter rendering.