<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt" -->

---
title: In Defense of YAML | daily.dev
description: YAML&#x27;s bad reputation stems from YAML 1.1 and PyYAML&#x27;s outdated implementation, not the format itself. YAML 1.2 (finalized in 2021) eliminates the infamous...
canonical: https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: In Defense of YAML | daily.dev
og:description: YAML&#x27;s bad reputation stems from YAML 1.1 and PyYAML&#x27;s outdated implementation, not the format itself. YAML 1.2 (finalized in 2021) eliminates the infamous...
og:url: https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt
og:image: https://api.daily.dev/og/posts/0iIADTzpt.png
og:image:alt: In Defense of YAML
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# In Defense of YAML

**[Lobsters](https://daily.dev/sources/lobsters)** · 16 min read · 0 upvotes · 0 comments

## Summary

YAML's bad reputation stems from YAML 1.1 and PyYAML's outdated implementation, not the format itself. YAML 1.2 (finalized in 2021) eliminates the infamous Norway boolean problem, removes sexagesimal parsing, and makes JSON a strict subset. TOML is praised for shallow configs but struggles with deeply nested structures, requiring verbose repeated path prefixes. The post introduces py-yaml12, a new Rust-backed Python library offering full YAML 1.2 compliance, safe defaults (no arbitrary code execution via tags), and performance competitive with PyYAML's C extension. An R equivalent (r-yaml12) is also available.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://opensource.posit.co/blog/2026-05-21_in-defense-of-yaml>

## Similar posts on daily.dev

- [YAML? That’s Norway problem](https://daily.dev/posts/yaml-that-s-norway-problem-jgyckvk2a) · Programming Digest · 4 upvotes · 0 comments
- [Ruby May Finally Fix the Famous “Norway Problem”](https://daily.dev/posts/ruby-may-finally-fix-the-famous-norway-problem--hkkhy7rxd) · RUBYLAND · 2 upvotes · 0 comments
- [YAML: The Language That Quietly Runs Modern DevOps](https://daily.dev/posts/yaml-the-language-that-quietly-runs-modern-devops-ojznade2q) · Medium · 1 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python)

[View this post on daily.dev](https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"In Defense of YAML","url":"https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt"},"datePublished":"2026-06-08T09:48:47.085Z","dateModified":"2026-06-08T09:49:14.475Z","description":"YAML's bad reputation stems from YAML 1.1 and PyYAML's outdated implementation, not the format itself. YAML 1.2 (finalized in 2021) eliminates the infamous...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4f4cdfba992b71bb3baf346c0ab6e7a7?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4f4cdfba992b71bb3baf346c0ab6e7a7?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Lobsters","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Lobsters","logo":"https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg","url":"https://daily.dev/sources/lobsters"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/in-defense-of-yaml-0iiadtzpt","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python","timeRequired":"PT16M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Lobsters","item":"https://daily.dev/sources/lobsters"},{"@type":"ListItem","position":3,"name":"In Defense of YAML"}]}
```

