GitHub
08/11/2026, 10:17 PMuuid4() for JSON-safe UUID generation in stream map expressions
• add check_uuid(value, version=None) for non-raising UUID validation, including optional version checks
• infer correct string/boolean output schemas and document the nondeterministic generation behavior
This follows the maintainer guidance on #3694: it intentionally does not expose uuid.UUID or depend on the unresolved try_cast proposal in #3693.
Validation
• uv run pytest -q — 851 passed, 388 deselected, 1 expected xfail, 21 subtests passed
• uvx pre-commit run --files singer_sdk/mapper.py tests/core/test_mapper.py docs/stream_maps.md — passed
• .venv/bin/mypy singer_sdk/mapper.py — passed
• .venv/bin/ty check singer_sdk/mapper.py — passed
• .venv/bin/sphinx-build docs build -W — passed with warnings treated as errors
Closes #3694
Summary by Sourcery
Expose UUID generation and validation helpers for stream map expressions.
New Features:
• Expose uuid4() for generating JSON-safe random UUID strings in stream map expressions.
• Expose check_uuid() for non-raising UUID validation with optional version checks.
Enhancements:
• Infer string and boolean output schemas for the new UUID expression helpers.
• Document the nondeterministic behavior and suitability limitations of generated UUIDs.
Documentation:
• Document the UUID helpers and warn that generated values are not stable across syncs.
Tests:
• Add coverage for UUID generation, validation, version checks, JSON serialization, and inferred schemas.
meltano/sdkGitHub
08/31/2026, 3:33 PM