YAML

Legacy Wiki Page

This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.

YAML is a human-friendly format for structured data, that is both easy to write for humans and still parsable by computers.

PyYAML parser

PyYAML is the most-used and go-to YAML package, which tries to be as compliant as possible with the YAML specs. It is, at its core, C-based. It can both read and write YAML. You can read the official documentation, or try the condensed/simplified version of these docs, with usable example code on this Python YAML tutorial.

When using this package, be careful which function you use. The load(){.backtick} function is very powerful and allows arbitrary code execution, while the safe_load(){.backtick} function is enough for most use cases. It only allows a subset of the load function, making it a much safer choice. For more details, see also the load deprecation notice.

YAML examples and usage in notable Python apps

YAML is a feature-rich language. Some packages that heavily depend on YAML are: