Coverage for src/keel/yaml_helper.py: 100%
14 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-02 20:26 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-02 20:26 +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
17def load(stream: str | bytes) -> Any:
18 """Parse a YAML document using the C-extension if available."""
19 return yaml.load(stream, Loader=_SafeLoader) # nosec B506
22def dump(data: Any, **kwargs: Any) -> str:
23 """Serialize a YAML document using the C-extension if available."""
24 return yaml.dump(data, Dumper=_SafeDumper, **kwargs)
27YAMLError = yaml.YAMLError