Tags: Query-farm/vgi-python
Tags
release: 0.36.0 Performance. The client opens a fan-out connection only when a batch is dealt to it, instead of every connection max_workers allows before the first batch (one call on one batch opened 48 on a 48-core machine). HTTP table streams carry only the dynamic-filter deltas that set a predicate's current revision, instead of replaying every delta ever received on every turn (dynamic_filter .test: 205s -> 8s). Function listings are built and encoded once per worker. The embedded filter evaluator runs single-threaded, and vgi.auth loads its HTTP/JWT helpers on first use (import vgi: 0.89s -> 0.56s). vgi.auth.__all__ no longer lists the HTTP helpers; import them by name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
release: 0.35.0 Requires vgi-rpc 0.47.0. Table-in-out state is kept per substream (InitRequest.substream_id) rather than per process, so a fan-out served by one process no longer overwrites its own state; Client accepts launch:<argv> worker strings; the shared-cache :memory: store serializes every operation; vgi-serve drops --introspect-rate-limit, which vgi-rpc 0.47 no longer has. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
release: 0.34.1 `import vgi` no longer creates the storage database. The abstract-class check in TableFunctionBase.__init_subclass__ read every attribute with getattr(), which resolved the lazy `Function.storage` descriptor and built the default SQLite store under the user's state directory. vgi defines subclasses of its own, so a bare import did it, and failed with PermissionError wherever that directory was not writable, such as a container running as a non-root user. The check now reads attributes statically, and the store is created on first use, as intended. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
release: 0.34.0 A required ANY argument can now be declared nullable, so a function can reject the missing case in its own on_bind() with a message that names the argument, instead of the caller seeing a bare KeyError from argument parsing. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PreviousNext