YAtiML: Mapping YAML to Python and back, with validation.

Abstract

YAtiML YAML-based file formats can be very handy, as YAML is easy to write by humans, and parsing support for it is widely available. Just read your YAML file into a document structure (a tree of nested dicts and lists), and manipulate that in your code. As long as that YAML file contains exactly what you expect, that works fine. But if it contains a mistake, then you're likely to crash the program with a cryptic error message, or worse (especially if the YAML file was loaded from the Internet) it may do something unexpected. To avoid that, you can validate your YAML using various schema checkers. You write a description of what your YAML file must look like, then feed that to a library which checks the incoming file against the description. That gives you a better error message, but it's a lot of work. YAtiML takes a different approach. Instead of a schema, you write a Python class. You probably already know how to do that, so no need to learn anything. YAtiML then generates loading and dumping functions for you, which convert between YAML and Python objects. If needed, you can add some extra code to make the YAML look nicer or implement special features. 0.10.0 Incompatible changes Ignore abstract base classes (abc.ABC and/or abstractmethod) New functionality Easier-to-understand error messages Installation via Conda (already worked, now documented) Small documentation improvements Python 3.11 support Compatibility with ruamel.yaml 0.17 Fixes Bug in map_attribute_to_index Removed Support for Python 3.6 </ul

    Similar works

    Full text

    thumbnail-image

    Available Versions

    Last time updated on 04/03/2023