Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions ml_peg/app/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
-------
Expand Down Expand Up @@ -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.
Expand Down
Loading