Skip to content

Commit 5f9569f

Browse files
rustyconoverclaude
andcommitted
fix(landing): mypy-clean describe.json producer + deterministic ordering
- Add missing generic type args (pa.Field[Any], dict[str, Any]) and use schema.field(0) so `mypy vgi/` passes (the CI lint gate). - Emit schemas/tables/views sorted by name so describe.json — and the conformance golden — is stable across platforms and Python versions (the CI matrix runs 3.13/3.14 on Linux/macOS/Windows); regenerate the golden. The conformance checker now prints a unified diff on mismatch. - Bump 0.11.0 -> 0.11.1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 1ecdf09 commit 5f9569f

5 files changed

Lines changed: 260 additions & 248 deletions

File tree

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "vgi-python"
3-
version = "0.11.0"
3+
version = "0.11.1"
44
description = "Vector Gateway Interface - Connect DuckDB to external programs via Apache Arrow"
55
readme = "README.md"
66
keywords = [

‎tests/landing/_checker.py‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,15 @@ def check(
109109
if want is None:
110110
fails.append(f"golden {golden_path} does not exist (run with --update)")
111111
elif got.strip() != want.strip():
112-
fails.append(f"describe.json does not match golden {golden_path.name} (normalized diff)")
112+
import difflib
113+
114+
diff = list(
115+
difflib.unified_diff(
116+
want.strip().splitlines(), got.strip().splitlines(), "golden", "live", lineterm=""
117+
)
118+
)
119+
snippet = "\n".join(diff[:40])
120+
fails.append(f"describe.json does not match golden {golden_path.name}:\n{snippet}")
113121

114122
return fails
115123

0 commit comments

Comments
 (0)