Skip to content

fix: stream delimited output without materializing records - #443

Merged
codeforester merged 2 commits into
mainfrom
bug/409-20261008-bug-restore-bounded-delimited-rendering
Oct 9, 2026
Merged

codeforester merged 2 commits into
mainfrom
bug/409-20261008-bug-restore-bounded-delimited-rendering

Conversation

@codeforester

Copy link
Copy Markdown
Contributor

Fixes #409. Streams CSV and TSV rows with per-row validation and documents partial-output behavior for a later invalid record. Tests: tests/test_output.py.

@codeforester

Copy link
Copy Markdown
Contributor Author

Review: CI is red: ruff format --check wants the row = [...] list collapsed onto one line in output.py (ruff format lib/python/base_cli/output.py). The change is otherwise correct and the new test proving the next record is only requested after the previous row is written is good.

Design note, not a blocker: this deliberately drops the prior guarantee that an invalid nested value produces no output. That is now documented in output-contracts.md, but it is a user-visible behavior change that should also get a CHANGELOG entry, and json-contracts.md still stresses all-or-nothing for JSON, so the CSV/TSV difference may be worth one sentence there.

@codeforester
codeforester force-pushed the bug/409-20261008-bug-restore-bounded-delimited-rendering branch from 8a120bb to a3cd709 Compare October 8, 2026 17:03
@codeforester
codeforester force-pushed the bug/409-20261008-bug-restore-bounded-delimited-rendering branch from a3cd709 to bc2a429 Compare October 9, 2026 02:23
@codeforester
codeforester merged commit 4a0933d into main Oct 9, 2026
117 checks passed
@codeforester
codeforester deleted the bug/409-20261008-bug-restore-bounded-delimited-rendering branch October 9, 2026 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: restore bounded CSV and TSV iterable rendering

1 participant