Skip to content
Novus Examples
yaml750 B

YAML Flow and Block Styles

Flow (JSON-like) and block collections expressing the same structures, nested inside one another in both directions, plus a flow mapping wrapped across lines and a line of strict JSON — which is valid YAML, and a useful check on a parser's JSON-subset claim.

Preview — first 38 linesyaml
# Flow style (JSON-like) and block style mean the same thing, but tooling rarely round-trips
# between them faithfully. Flow collections may also nest inside block ones and vice versa.
block_map:
  a: 1
  b: 2

flow_map: {a: 1, b: 2}

block_seq:
  - one
  - two

flow_seq: [one, two, three]

flow_in_block:
  matrix: {os: [linux, windows], arch: [amd64, arm64]}
  needs: []

block_in_flow: [{name: build, needs: []}, {name: test, needs: [build]}]

mixed_sequence:
  - {name: build, parallel: false}
  - name: test
    parallel: true
    needs: [build]

deeply_nested_flow: {a: {b: {c: [1, 2, {d: [e, f]}]}}}

flow_across_lines: {
  name: wrapped,
  values: [
    1,
    2
  ]
}

json_is_valid_yaml: {"quoted": "keys", "work": ["too", 1, true, null]}

Specifications

Flow Collections
8
Block Collections
4
Mixed Nesting
3
Json Subset Example
true
Max Flow Depth
5

Testing contract

Expected to pass
Scenario
Load equivalent structures written in flow and block style and compare them
Expected result
block_map and flow_map load to equal mappings, and the strict-JSON line parses as YAML without a separate JSON parser

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“YAML Flow and Block Styles” is a deterministic Novus Examples fixture for Config parsing, Encoding detection, Editor testing. TOML and INI configuration files with nested sections and typed values — for testing config parsers and loaders.

Documented properties for this file: YAML · 750 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("flow-and-block-styles.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/pipelines.py. Free for any use, no attribution required — license.