Строгая десериализация YAML в Python c библиотекой marshmallow
5 min
Tutorial
Translation
Исходная задача
- Необходимо прочитать нетривиальный конфиг из .yaml файла.
- Структура конфига описана с помощью дата-классов.
- Необходимо, чтобы при десериализации были выполнены проверки типов, и, если данные невалидны, было брошено исключение.
То есть, проще говоря, нужна функция вида:
def strict_load_yaml(yaml: str, loaded_type: Type[Any]):
"""
Here is some magic
"""
pass
И эта функция будет использоваться следующим образом: