Coverage for src/keel/yaml_helper.py: 100%
13 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-18 12:05 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-18 12:05 +0000
1"""YAML parsing helpers with C-extension acceleration."""
3from __future__ import annotations
5from typing import Any
7import yaml
9try:
10 from yaml import CSafeDumper as _SafeDumper
11 from yaml import CSafeLoader as _SafeLoader
12except ImportError:
13 from yaml import SafeDumper as _SafeDumper
14 from yaml import SafeLoader as _SafeLoader
16def load(stream: str | bytes) -> Any:
17 """Parse a YAML document using the C-extension if available."""
18 return yaml.load(stream, Loader=_SafeLoader) # nosec B506
20def dump(data: Any, **kwargs: Any) -> str:
21 """Serialize a YAML document using the C-extension if available."""
22 return yaml.dump(data, Dumper=_SafeDumper, **kwargs)