Coverage for .venv/lib/python3.13/site-packages/litellm/proxy/config_resolvers/changed_section_keys.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 12:01 +0000

1from __future__ import annotations 

2 

3from collections.abc import Mapping 

4from types import MappingProxyType 

5from typing import Final 

6 

7from pydantic import JsonValue 

8 

9 

10def changed_section_keys( 

11 baseline: Mapping[str, JsonValue], new: Mapping[str, JsonValue] 

12) -> tuple[Mapping[str, JsonValue], frozenset[str]]: 

13 changed: Final[Mapping[str, JsonValue]] = MappingProxyType( 

14 {key: value for key, value in new.items() if key not in baseline or baseline[key] != value} 

15 ) 

16 removed: Final = frozenset(baseline).difference(new) 

17 return changed, removed