Skip to content

Releases: Query-farm/vgi-python

v0.9.0

Choose a tag to compare

@rustyconover rustyconover released this 30 Jun 15:08

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

Choose a tag to compare

@rustyconover rustyconover released this 29 Jun 22:01

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

Choose a tag to compare

@rustyconover rustyconover released this 29 Jun 19:27

Performance: scalar UDF constants can now be carried through as typed Arrow scalars.

  • ConstParam annotated with a pyarrow scalar class — Annotated[pa.Int64Scalar, ConstParam(...)] — now delivers the typed pa.Scalar straight to compute() instead of converting it to a Python value. The constant can be passed directly into pyarrow.compute with 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 MultiplyFunction updated to the idiomatic fast pattern.
  • CI: boot the http integration worker from the staging dir so copy_from/copy_to tests resolve their relative paths (fixes the http-lane Integration suite).

v0.8.9

Choose a tag to compare

@rustyconover rustyconover released this 29 Jun 17:39

Maintenance release.

  • Export CopyFromFormatInfo from vgi.catalog.
  • Type ProcessParams/InitParams.secrets as ResolvedSecrets (type/scope-aware lookups now type-check).
  • CI/quality-gate fixes (mypy, ruff, pydoclint, strict docs); run pydoclint via an isolated uvx env to avoid the docstring-parser/docstring-parser-fork namespace conflict.

v0.8.8

Choose a tag to compare

@rustyconover rustyconover released this 29 Jun 14:01

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

Choose a tag to compare

@rustyconover rustyconover released this 26 Jun 04:22

TCP transport

Adds the raw Arrow-IPC TCP transport from vgi-rpc 0.21.0:

  • Worker --tcp [HOST:]PORT serving (emits the TCP:<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

Choose a tag to compare

@rustyconover rustyconover released this 25 Jun 16:33

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

Choose a tag to compare

@rustyconover rustyconover released this 25 Jun 04:01

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

Choose a tag to compare

@rustyconover rustyconover released this 24 Jun 16:47

Worker-settable catalog source_url + per-schema tags for vgi-lint metadata. (Function tags already supported.)

v0.8.3

Choose a tag to compare

@rustyconover rustyconover released this 23 Jun 20:10

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