Skip to content

Release Python SDK 0.48.0 for VGI protocol v3 - #98

Open
rustyconover wants to merge 67 commits into
mainfrom
release/vgi-v3-0.48.0
Open

rustyconover wants to merge 67 commits into
mainfrom
release/vgi-v3-0.48.0

Conversation

@rustyconover

Copy link
Copy Markdown
Contributor

Publishes the Python SDK for the successor VGI wire contract, vgi.v3 / 3.0.0.

  • Canonical catalog metadata now covers nested schema paths, nullable default schemas, column expressions/comments/tags, macro overload families, typed constraints and indexes, dependencies, and view/security metadata.
  • Adds typed prepared-query contracts, explicit statements through existing query calls, structured scalar projection negotiation, and bind-scoped scan repeatability.
  • Requires published vgi-rpc>=0.52.3 for complete outer IPC framing. Includes the one-shot writable-scan continuation fix.
  • Keeps the existing Arrow C++ generator as the default and adds an explicit Nanoarrow backend for the DuckDB 2.0 adapter. Nested Go schema output now reproduces gofmt without changing wire shapes or hashes.
  • Completes strict typing for the new protocol tests and reference providers, preserving malformed-input and absent-object tests.

Compatibility: requires a native VGI build that speaks vgi.v3 / 3.0.0; older vgi.v2 extensions are incompatible. The protocol is qualified with the DuckDB 1.5 adapter and the DuckDB 2.0/Nanoarrow candidate. Automatic whole-query pushdown remains separate adapter work.

Validation: Ruff, strict mypy for runtime and tests, package builds and metadata checks passed. The full Python suite qualified 4,609 passing tests with 192 expected/environment skips; four initial failures were resolved by one stub-only cast correction and an exact Rust checkout path, then targeted tests passed. Existing full native SDK language matrices and canonical HTTP qualification cover the runtime changes.

The core wheel continues to bundle import-only fixture modules. The separate vgi-fixtures wheel is built and checked, while its PyPI publication remains disabled because that project has not been provisioned.

Source checkpoint; EC2 was unreachable, so remote build/test qualification remains pending.
Validated on EC2 Linux ARM64 against the pinned DuckDB 1.5 build. Qualification evidence and remaining release limits are recorded in the combined protocol manifest.
Documentation-only planning checkpoint. Reuse the existing query protocol and explicit executor; stage the 2.0 read port, real snapshot-backed provider, bound export/replacement and bounded qualification. EC2 validation: complete 151-row / 20-area inventory, no pending scope reviews, 11 manifest tests passed. No automatic 2.0 runtime support claimed.
Remove the proposed user/session pushdown controls. Reuse ATTACH offer/selection and per-query eligibility/preparation. Documentation only; EC2 inventory and all 11 manifest tests passed.
EC2 Linux ARM64 diagnostic configure passes at audited e1784fa42310. All107 native C++ sources attempted:53compile/54fail; generated describe.c also compiles. Runtime and final linking remain unqualified. Runner lint/isolation guards and11manifest tests pass. Existing1.5 engine and build remain unchanged.

This branch was successfully deployed

1 active (outdated) deployment
pypi — 66f16744 Deployed Oct 28, 2026 by rustyconover via Publish vgi to PyPI #75
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.

1 participant