Releases: Query-farm/vgi-python
Release list
v0.13.0
v0.12.0
Catalog macros on the landing page + landing-page fixes
- describe.json now surfaces catalog macros (scalar + table) in the schema
functionslist — fixes workers whose callable functions are declared as DuckDB macros (e.g. vgi-volcanos) showing 0 functions. Defaulted macro params render as named args with their default; untyped params showANY. - Landing page: Markdown rendering for catalog/table/view docs; Arrow→DuckDB column/argument type display (
int64→BIGINT,dictionary<…>→VARCHAR); table/view descriptions shown only on expand; footer schema-version line removed.
v0.11.1
Patch: mypy-clean describe.json producer with deterministic (sorted) output so describe.json and the conformance golden are stable across platforms and Python versions; UTF-8 file reads in the conformance checker; regenerated uv.lock.
v0.11.0
Standardized VGI worker HTTP landing page: the shared self-contained landing.html served at GET / with content negotiation, plus GET /describe.json and the lazy per-object column endpoint built from live catalog introspection. Requires vgi-rpc>=0.23.0 for the _vgi_identity cookie.
v0.10.0
Per-argument constraint metadata for agent discovery, surfaced through vgi_function_arguments() (default / choices / range / pattern), plus bind-time enforcement: a const argument that violates a declared choices/ge/le/gt/lt/pattern constraint now fails at bind (scalar + aggregate) instead of silently reaching compute().
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.