Releases: Query-farm/vgi-python
Release list
v0.9.0
COPY ... TO / FROM secret-bind hook: a worker can now forward the caller's CREATE SECRET credentials for secret-backed cloud writes/reads via the two-phase secret bind (CopyToFunction/CopyFromFunction on_secrets). Adds SecretLines COPY fixtures.
v0.8.11
Adds the vgi-fixtures container image build to the release pipeline.
The release now builds and pushes ghcr.io/query-farm/vgi-fixtures:0.8.11-<worker> (one per fixture worker, plus :0.8.11 and :latest for the base worker) to GHCR. These let the VGI DuckDB extension run its integration suite via the oci:// container transport — full stdio fidelity, no local uv/Python install needed.
No functional changes to the vgi-python package itself.
v0.8.10
Performance: scalar UDF constants can now be carried through as typed Arrow scalars.
ConstParamannotated with a pyarrow scalar class —Annotated[pa.Int64Scalar, ConstParam(...)]— now delivers the typedpa.Scalarstraight tocompute()instead of converting it to a Python value. The constant can be passed directly intopyarrow.computewith no per-call scalar re-inference, which is ~40–50x slower on Windows than a typed scalar and dominates per-batch cost for scalar UDFs. Python-type annotations (int/str/float/…) are unchanged, so existing workers are unaffected.- New
vgi.arguments.SCALAR_CLASS_TO_DATATYPE(scalar class → Arrow type), used to infer the Arrow type and to mark which constants are delivered as scalars. - Example fixture
MultiplyFunctionupdated to the idiomatic fast pattern. - CI: boot the http integration worker from the staging dir so
copy_from/copy_totests resolve their relative paths (fixes the http-lane Integration suite).
v0.8.9
Maintenance release.
- Export
CopyFromFormatInfofromvgi.catalog. - Type
ProcessParams/InitParams.secretsasResolvedSecrets(type/scope-aware lookups now type-check). - CI/quality-gate fixes (mypy, ruff, pydoclint, strict docs); run pydoclint via an isolated
uvxenv to avoid the docstring-parser/docstring-parser-fork namespace conflict.
v0.8.8
Worker-side COPY ... FROM / TO custom format support, scope- and type-aware ResolvedSecrets with name-keying, union-typed table varargs decoded as TaggedUnion, and table-buffering functions that can request DuckDB secrets via two-phase bind.
v0.8.7
TCP transport
Adds the raw Arrow-IPC TCP transport from vgi-rpc 0.21.0:
- Worker
--tcp [HOST:]PORTserving (emits theTCP:<host>:<port>discovery line; idle-timeout self-shutdown). - Client
transport="tcp"+Client.from_tcp(host, port); catalog calls routed over TCP too.
Raw TCP framing carries no auth/encryption — loopback/trusted networks only; HTTP remains the transport for untrusted networks.
v0.8.6
Per-parameter documentation for macros: a macro's parameters can now carry descriptions (via the arguments_schema vgi_doc field metadata, mirroring functions), surfaced by the DuckDB extension's vgi_function_arguments() (function_type scalar_macro/table_macro). The example worker's macros are documented as a consistent cross-SDK reference.
🤖 Generated with Claude Code
v0.8.5
Add per-argument descriptions (vgi_doc Arrow field metadata) so a function's arguments can be documented and surfaced via the DuckDB extension's vgi_function_arguments() table function. The example worker's multiply now documents its value/factor arguments (with the const argument clearly identifiable), standardized across all SDKs.
🤖 Generated with Claude Code
v0.8.4
Worker-settable catalog source_url + per-schema tags for vgi-lint metadata. (Function tags already supported.)
v0.8.3
What's changed
Union-tag-preserving argument decode (TaggedUnion)
- feat(arguments): preserve the union tag when decoding union-typed arguments, so the originating union child type survives the round-trip
- test: cover union argument boundary cases — null payload, non-contiguous type codes, and dense unions
- fix(arguments): satisfy strict mypy + ruff for the union-tag decode path
Requires vgi-rpc 0.20.5.
Full changelog: v0.8.2...v0.8.3