Skip to content
Novus Examples
yaml587 B

YAML Multi-Document Stream

A five-document stream with explicit end markers, a comment-only document that loads as null, and a bare sequence as a whole document. The single-document API returns only the first, which is how multi-object manifests silently lose objects.

Preview — first 24 linesyaml
# A multi-document stream. `---` starts a document, `...` ends one explicitly. A loader that
# calls the single-document API returns only the first document and silently discards the rest;
# the stream API returns all of them, including the deliberately empty one, which resolves to
# null rather than being skipped.
---
kind: Stage
name: build
order: 1
---
kind: Stage
name: test
order: 2
...
---
# This document contains only a comment, so it loads as null. It is still a document.
---
kind: Stage
name: deploy
order: 3
---
- a bare sequence is also a valid document
- second item
...

Specifications

Documents
5
Empty Documents
1
Explicit End Markers
2
Bare Sequence Documents
1
Edge Case
single-document APIs silently drop everything after the first

Testing contract

Expected to pass
Scenario
Load a stream of five YAML documents, one of which is empty
Expected result
The stream API yields 5 documents in order with the third being null; the single-document API yields only the first or raises a composer error

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 Multi-Document Stream” 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 · 587 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("multi-document-stream.yaml") as f:
    data = yaml.safe_load(f)
print(data)

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