vgi-python 0.31.3__tar.gz → 0.31.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vgi_python-0.31.4/.github/workflows/integration.yml +103 -0
- vgi_python-0.31.4/PKG-INFO +660 -0
- vgi_python-0.31.4/PROTOCOL.md +12 -0
- vgi_python-0.31.4/README.md +441 -0
- vgi_python-0.31.4/ci/README.md +182 -0
- vgi_python-0.31.4/ci/run-integration.sh +389 -0
- vgi_python-0.31.4/conformance/filter-v2/README.md +40 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/and-too-few-children.json +22 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/delta-required-upsert.json +23 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/nested-runtime-filter.json +31 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/remove-with-expression.json +16 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/required-runtime-filter.json +28 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/snapshot-nonzero-revision.json +22 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/unknown-document-property.json +7 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/negative/unknown-node.json +17 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/positive/advisory-upsert-delta.json +27 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/positive/empty-snapshot.json +6 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/positive/nested-required-snapshot.json +32 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/positive/remove-delta.json +12 -0
- vgi_python-0.31.4/conformance/filter-v2/cases/positive/runtime-filter-snapshot.json +28 -0
- vgi_python-0.31.4/conformance/filter-v2/filter-v2.schema.json +755 -0
- vgi_python-0.31.4/conformance/filter-v2/generate_runtime.py +619 -0
- vgi_python-0.31.4/conformance/filter-v2/manifest.json +74 -0
- vgi_python-0.31.4/conformance/filter-v2/run_worker.py +89 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-add/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-add/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-add/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-multiply/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-multiply/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-multiply/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-negate/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-negate/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-negate/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-subtract/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-subtract/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/arithmetic-subtract/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/cast-integer-to-double/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/cast-integer-to-double/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/cast-integer-to-double/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-distinct_from/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-distinct_from/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-distinct_from/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-distinct_from/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-eq/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-eq/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-eq/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-eq/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ge/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ge/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ge/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ge/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-gt/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-gt/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-gt/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-gt/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-le/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-le/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-le/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-le/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-lt/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-lt/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-lt/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-lt/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ne/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ne/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ne/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-ne/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-not_distinct_from/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-not_distinct_from/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-not_distinct_from/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/comparison-not_distinct_from/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-atomic-multi-update/delta-0.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-atomic-multi-update/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-atomic-multi-update/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-atomic-multi-update/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-empty-noop/delta-0.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-empty-noop/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-empty-noop/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-empty-noop/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-upsert-remove-stale/delta-0.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-upsert-remove-stale/delta-1.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-upsert-remove-stale/delta-2.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-upsert-remove-stale/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-upsert-remove-stale/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/delta-upsert-remove-stale/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/empty-snapshot/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/empty-snapshot/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/empty-snapshot/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/empty-snapshot/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-cast-type-not-null/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-cast-type-not-null/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-column-index/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-column-index/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-column-name/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-column-name/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-contextual-cast-without-session/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-contextual-cast-without-session/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-duplicate-predicate-id/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-duplicate-predicate-id/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-external-column-index/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-external-column-index/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-external-column-index/join-keys-0.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-external-column-name/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-external-column-name/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-external-column-name/join-keys-0.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-field-non-struct/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-field-non-struct/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-in-payload-not-list/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-in-payload-not-list/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-in-payload-null-list/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-in-payload-null-list/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-invalid-overload/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-invalid-overload/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-missing-literal/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-missing-literal/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-non-boolean-root/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-non-boolean-root/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-unknown-standard-function/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/error-unknown-standard-function/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/external-in-nonzero-column/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/external-in-nonzero-column/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/external-in-nonzero-column/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/external-in-nonzero-column/join-keys-0.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/external-in-nonzero-column/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-contains/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-contains/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-contains/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-ends-with/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-ends-with/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-ends-with/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-list-contains/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-list-contains/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-list-contains/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-starts-with/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-starts-with/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/function-starts-with/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-empty/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-empty/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-empty/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-empty/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-with-null/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-with-null/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-with-null/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/in-with-null/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-not-null/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-not-null/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-not-null/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-not-null/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-null/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-null/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-null/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/is-null/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-and/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-and/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-and/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-not/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-not/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-not/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-or/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-or/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/kleene-or/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/nan-comparison/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/nan-comparison/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/nan-comparison/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/negative-zero-membership/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/negative-zero-membership/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/negative-zero-membership/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/nested-null-propagation/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/nested-null-propagation/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/nested-null-propagation/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-empty/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-empty/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-empty/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-empty/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-with-null/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-with-null/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-with-null/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/not-in-with-null/worker-expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/session-integer-division/expected.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/session-integer-division/filter.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime/session-integer-division/input.arrow +0 -0
- vgi_python-0.31.4/conformance/filter-v2/runtime-manifest.json +975 -0
- vgi_python-0.31.4/docs/aggregate-functions.md +483 -0
- vgi_python-0.31.4/docs/api/metadata.md +22 -0
- vgi_python-0.31.4/docs/catalog-interface.md +844 -0
- vgi_python-0.31.4/docs/cli.md +718 -0
- vgi_python-0.31.4/docs/column-statistics.md +214 -0
- vgi_python-0.31.4/docs/filter-pushdown.md +80 -0
- vgi_python-0.31.4/docs/global-functions.md +88 -0
- vgi_python-0.31.4/docs/metadata.md +133 -0
- vgi_python-0.31.4/docs/protocol/index.md +24 -0
- vgi_python-0.31.4/docs/protocol/vgi-duckdb-filter-adapter.md +362 -0
- vgi_python-0.31.4/docs/protocol/vgi-filter-encoding-v2-spec.md +1402 -0
- vgi_python-0.31.4/docs/protocol/vgi-protocol-proposed-changes.md +676 -0
- vgi_python-0.31.4/docs/protocol/vgi-runtime-filter-artifacts.md +233 -0
- vgi_python-0.31.4/examples/batch_index_worker.py +142 -0
- vgi_python-0.31.4/examples/cache_worker.py +124 -0
- vgi_python-0.31.4/examples/calc_scalar_worker.py +45 -0
- vgi_python-0.31.4/examples/calc_worker.py +88 -0
- vgi_python-0.31.4/examples/copy_format_worker.py +178 -0
- vgi_python-0.31.4/examples/filter_worker.py +67 -0
- vgi_python-0.31.4/examples/greeting_scalar_worker.py +45 -0
- vgi_python-0.31.4/examples/row_count_worker.py +111 -0
- vgi_python-0.31.4/examples/series_streaming_worker.py +86 -0
- vgi_python-0.31.4/examples/sum_worker.py +101 -0
- vgi_python-0.31.4/mkdocs.yml +165 -0
- vgi_python-0.31.4/pyproject.toml +280 -0
- vgi_python-0.31.4/scripts/run_all_tests.sh +238 -0
- vgi_python-0.31.4/tests/catalog/test_catalog_interface.py +1141 -0
- vgi_python-0.31.4/tests/catalog/test_column_statistics.py +841 -0
- vgi_python-0.31.4/tests/catalog/test_declarative.py +2239 -0
- vgi_python-0.31.4/tests/catalog/test_example_worker_catalog.py +557 -0
- vgi_python-0.31.4/tests/catalog/test_integration.py +704 -0
- vgi_python-0.31.4/tests/catalog/test_required_filters.py +91 -0
- vgi_python-0.31.4/tests/catalog/test_scan_branches.py +309 -0
- vgi_python-0.31.4/tests/catalog/test_serialization.py +1423 -0
- vgi_python-0.31.4/tests/catalog/test_time_travel.py +447 -0
- vgi_python-0.31.4/tests/catalog/test_writable_table.py +317 -0
- vgi_python-0.31.4/tests/client/test_aggregate_client.py +450 -0
- vgi_python-0.31.4/tests/client/test_batch_metadata_callback.py +77 -0
- vgi_python-0.31.4/tests/client/test_bind_and_join_keys.py +148 -0
- vgi_python-0.31.4/tests/client/test_broken_pipe.py +117 -0
- vgi_python-0.31.4/tests/client/test_cli_catalog_functions.py +535 -0
- vgi_python-0.31.4/tests/client/test_copy_client.py +286 -0
- vgi_python-0.31.4/tests/client/test_scan_branches_client.py +70 -0
- vgi_python-0.31.4/tests/client/test_split_client.py +93 -0
- vgi_python-0.31.4/tests/client/test_stop_force.py +135 -0
- vgi_python-0.31.4/tests/client/test_table_column_statistics.py +73 -0
- vgi_python-0.31.4/tests/client/test_time_travel_client.py +85 -0
- vgi_python-0.31.4/tests/client/test_worker_debug.py +204 -0
- vgi_python-0.31.4/tests/conformance/test_function_inventory.py +208 -0
- vgi_python-0.31.4/tests/conformance/test_http_client.py +202 -0
- vgi_python-0.31.4/tests/conformance/test_http_external_location.py +124 -0
- vgi_python-0.31.4/tests/conformance/test_http_upload_url.py +125 -0
- vgi_python-0.31.4/tests/conformance/test_protocol_version.py +58 -0
- vgi_python-0.31.4/tests/conformance/test_resumable_scan.py +168 -0
- vgi_python-0.31.4/tests/conformance/test_scalar_attach_opaque_data.py +98 -0
- vgi_python-0.31.4/tests/scalar/test_bernoulli_function.py +51 -0
- vgi_python-0.31.4/tests/scalar/test_binary_packet_function.py +69 -0
- vgi_python-0.31.4/tests/scalar/test_client.py +759 -0
- vgi_python-0.31.4/tests/scalar/test_conditional_message_function.py +53 -0
- vgi_python-0.31.4/tests/scalar/test_hash_seed_function.py +117 -0
- vgi_python-0.31.4/tests/scalar/test_multiply_by_setting_function.py +50 -0
- vgi_python-0.31.4/tests/scalar/test_multiply_function.py +69 -0
- vgi_python-0.31.4/tests/scalar/test_random_bytes_function.py +111 -0
- vgi_python-0.31.4/tests/scalar/test_return_secret_value_function.py +42 -0
- vgi_python-0.31.4/tests/table/generator/test_constant_columns_function.py +56 -0
- vgi_python-0.31.4/tests/table/generator/test_double_sequence_function.py +52 -0
- vgi_python-0.31.4/tests/table/generator/test_exception_function.py +64 -0
- vgi_python-0.31.4/tests/table/generator/test_filter_echo_function.py +67 -0
- vgi_python-0.31.4/tests/table/generator/test_logging_function.py +59 -0
- vgi_python-0.31.4/tests/table/generator/test_nested_sequence_function.py +71 -0
- vgi_python-0.31.4/tests/table/generator/test_partitioned_function.py +126 -0
- vgi_python-0.31.4/tests/table/generator/test_projected_data_function.py +51 -0
- vgi_python-0.31.4/tests/table/generator/test_sequence_function.py +37 -0
- vgi_python-0.31.4/tests/table/generator/test_settings_function.py +124 -0
- vgi_python-0.31.4/tests/table/generator/test_struct_settings_function.py +50 -0
- vgi_python-0.31.4/tests/table/generator/test_ten_thousand_function.py +30 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_buffer_input_function.py +44 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_echo_function.py +55 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_exception_functions.py +123 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_filter_by_setting_function.py +77 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_repeat_inputs_function.py +112 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_substream_partial_sum_function.py +73 -0
- vgi_python-0.31.4/tests/table_in_out/generator/test_sum_all_columns_function.py +299 -0
- vgi_python-0.31.4/tests/table_in_out/test_blended_exchange.py +282 -0
- vgi_python-0.31.4/tests/table_in_out/test_client.py +294 -0
- vgi_python-0.31.4/tests/tailnet/probe.py +113 -0
- vgi_python-0.31.4/tests/test_argument_spec.py +879 -0
- vgi_python-0.31.4/tests/test_bind_exceptions.py +118 -0
- vgi_python-0.31.4/tests/test_codegen_request_inventory.py +23 -0
- vgi_python-0.31.4/tests/test_examples_workers.py +250 -0
- vgi_python-0.31.4/tests/test_exception_handling.py +281 -0
- vgi_python-0.31.4/tests/test_filter_pushdown.py +1025 -0
- vgi_python-0.31.4/tests/test_filter_v2.py +533 -0
- vgi_python-0.31.4/tests/test_filter_v2_builder.py +125 -0
- vgi_python-0.31.4/tests/test_filter_v2_runtime_corpus.py +86 -0
- vgi_python-0.31.4/tests/test_filter_v2_spec_schema.py +116 -0
- vgi_python-0.31.4/tests/test_function_shape_mismatch.py +84 -0
- vgi_python-0.31.4/tests/test_generated_cpp_request_builders.py +100 -0
- vgi_python-0.31.4/tests/test_generated_rust_request_builders.py +120 -0
- vgi_python-0.31.4/tests/test_generated_schemas_cross_lang.py +116 -0
- vgi_python-0.31.4/tests/test_generated_ts_client.py +109 -0
- vgi_python-0.31.4/tests/test_launch_transport.py +123 -0
- vgi_python-0.31.4/tests/test_metadata.py +883 -0
- vgi_python-0.31.4/tests/test_projection_enforcement.py +76 -0
- vgi_python-0.31.4/tests/test_projection_repro.py +254 -0
- vgi_python-0.31.4/tests/test_protocol_classes.py +1330 -0
- vgi_python-0.31.4/tests/test_schema_paths_v2.py +215 -0
- vgi_python-0.31.4/tests/test_schema_scoped_functions.py +241 -0
- vgi_python-0.31.4/tests/test_serve.py +1016 -0
- vgi_python-0.31.4/tests/test_setting_secret_annotations.py +612 -0
- vgi_python-0.31.4/tests/test_tcp_transport.py +198 -0
- vgi_python-0.31.4/tests/test_wire_record_schema_parity.py +267 -0
- vgi_python-0.31.4/tests/test_worker_page.py +824 -0
- vgi_python-0.31.4/uv.lock +2919 -0
- vgi_python-0.31.4/vgi/__init__.py +236 -0
- vgi_python-0.31.4/vgi/_test_fixtures/accumulate/worker.py +762 -0
- vgi_python-0.31.4/vgi/_test_fixtures/attach_options.py +339 -0
- vgi_python-0.31.4/vgi/_test_fixtures/bad_enum.py +72 -0
- vgi_python-0.31.4/vgi/_test_fixtures/catalog.py +818 -0
- vgi_python-0.31.4/vgi/_test_fixtures/companion.py +169 -0
- vgi_python-0.31.4/vgi/_test_fixtures/narrow_bind/worker.py +237 -0
- vgi_python-0.31.4/vgi/_test_fixtures/orchard_catalog.py +47 -0
- vgi_python-0.31.4/vgi/_test_fixtures/projection_repro/worker.py +454 -0
- vgi_python-0.31.4/vgi/_test_fixtures/scalar/__init__.py +146 -0
- vgi_python-0.31.4/vgi/_test_fixtures/scalar/arithmetic.py +441 -0
- vgi_python-0.31.4/vgi/_test_fixtures/scalar/null_handling.py +108 -0
- vgi_python-0.31.4/vgi/_test_fixtures/schema_reconcile/worker.py +653 -0
- vgi_python-0.31.4/vgi/_test_fixtures/simple_writable.py +796 -0
- vgi_python-0.31.4/vgi/_test_fixtures/table/filters.py +1155 -0
- vgi_python-0.31.4/vgi/_test_fixtures/table/late_materialization.py +256 -0
- vgi_python-0.31.4/vgi/_test_fixtures/table/same_name_schemas.py +136 -0
- vgi_python-0.31.4/vgi/_test_fixtures/table/splits.py +1175 -0
- vgi_python-0.31.4/vgi/_test_fixtures/table/tt_pushdown.py +195 -0
- vgi_python-0.31.4/vgi/_test_fixtures/table_in_out_same_name.py +243 -0
- vgi_python-0.31.4/vgi/_test_fixtures/twin_catalogs.py +146 -0
- vgi_python-0.31.4/vgi/_test_fixtures/versioned.py +155 -0
- vgi_python-0.31.4/vgi/_test_fixtures/versioned_tables.py +595 -0
- vgi_python-0.31.4/vgi/_test_fixtures/worker.py +2174 -0
- vgi_python-0.31.4/vgi/_test_fixtures/writable/generic.py +236 -0
- vgi_python-0.31.4/vgi/_test_fixtures/writable/worker.py +1154 -0
- vgi_python-0.31.4/vgi/aggregate_function.py +664 -0
- vgi_python-0.31.4/vgi/argument_spec.py +851 -0
- vgi_python-0.31.4/vgi/attach_header.py +81 -0
- vgi_python-0.31.4/vgi/catalog/__init__.py +101 -0
- vgi_python-0.31.4/vgi/catalog/catalog_interface.py +3565 -0
- vgi_python-0.31.4/vgi/catalog/descriptors.py +1048 -0
- vgi_python-0.31.4/vgi/catalog/duckdb_statistics.py +404 -0
- vgi_python-0.31.4/vgi/client/aggregate.py +939 -0
- vgi_python-0.31.4/vgi/client/catalog_mixin.py +1532 -0
- vgi_python-0.31.4/vgi/client/cli.py +595 -0
- vgi_python-0.31.4/vgi/client/cli_schema.py +210 -0
- vgi_python-0.31.4/vgi/client/cli_table.py +739 -0
- vgi_python-0.31.4/vgi/client/cli_utils.py +527 -0
- vgi_python-0.31.4/vgi/client/cli_view.py +242 -0
- vgi_python-0.31.4/vgi/client/client.py +3487 -0
- vgi_python-0.31.4/vgi/codegen/_common.py +381 -0
- vgi_python-0.31.4/vgi/codegen/cpp_request_builders.py +577 -0
- vgi_python-0.31.4/vgi/codegen/rust_request_builders.py +298 -0
- vgi_python-0.31.4/vgi/codegen/ts_client.py +450 -0
- vgi_python-0.31.4/vgi/filter_v2.py +1261 -0
- vgi_python-0.31.4/vgi/filter_v2_builder.py +140 -0
- vgi_python-0.31.4/vgi/http/worker_page.py +1268 -0
- vgi_python-0.31.4/vgi/meta_worker.py +721 -0
- vgi_python-0.31.4/vgi/metadata.py +1799 -0
- vgi_python-0.31.4/vgi/protocol.py +3723 -0
- vgi_python-0.31.4/vgi/protocol_version.txt +1 -0
- vgi_python-0.31.4/vgi/scalar_function.py +1343 -0
- vgi_python-0.31.4/vgi/schema_path.py +58 -0
- vgi_python-0.31.4/vgi/split_token.py +275 -0
- vgi_python-0.31.4/vgi/table_filter_pushdown.py +1790 -0
- vgi_python-0.31.4/vgi/table_function.py +1758 -0
- vgi_python-0.31.4/vgi/transactor/protocol.py +155 -0
- vgi_python-0.31.4/vgi/transactor/server.py +726 -0
- vgi_python-0.31.4/vgi/worker.py +5592 -0
- vgi_python-0.31.3/.github/workflows/integration.yml +0 -106
- vgi_python-0.31.3/PKG-INFO +0 -660
- vgi_python-0.31.3/README.md +0 -441
- vgi_python-0.31.3/ci/README.md +0 -178
- vgi_python-0.31.3/ci/run-integration.sh +0 -390
- vgi_python-0.31.3/docs/aggregate-functions.md +0 -483
- vgi_python-0.31.3/docs/api/metadata.md +0 -18
- vgi_python-0.31.3/docs/catalog-interface.md +0 -834
- vgi_python-0.31.3/docs/cli.md +0 -716
- vgi_python-0.31.3/docs/column-statistics.md +0 -214
- vgi_python-0.31.3/docs/filter-pushdown.md +0 -166
- vgi_python-0.31.3/docs/global-functions.md +0 -88
- vgi_python-0.31.3/docs/metadata.md +0 -124
- vgi_python-0.31.3/examples/batch_index_worker.py +0 -142
- vgi_python-0.31.3/examples/cache_worker.py +0 -124
- vgi_python-0.31.3/examples/calc_scalar_worker.py +0 -45
- vgi_python-0.31.3/examples/calc_worker.py +0 -88
- vgi_python-0.31.3/examples/copy_format_worker.py +0 -178
- vgi_python-0.31.3/examples/filter_worker.py +0 -67
- vgi_python-0.31.3/examples/greeting_scalar_worker.py +0 -45
- vgi_python-0.31.3/examples/row_count_worker.py +0 -111
- vgi_python-0.31.3/examples/series_streaming_worker.py +0 -86
- vgi_python-0.31.3/examples/sum_worker.py +0 -101
- vgi_python-0.31.3/mkdocs.yml +0 -159
- vgi_python-0.31.3/pyproject.toml +0 -280
- vgi_python-0.31.3/scripts/run_all_tests.sh +0 -215
- vgi_python-0.31.3/tests/catalog/test_catalog_interface.py +0 -1090
- vgi_python-0.31.3/tests/catalog/test_column_statistics.py +0 -841
- vgi_python-0.31.3/tests/catalog/test_declarative.py +0 -2236
- vgi_python-0.31.3/tests/catalog/test_example_worker_catalog.py +0 -538
- vgi_python-0.31.3/tests/catalog/test_integration.py +0 -704
- vgi_python-0.31.3/tests/catalog/test_required_filters.py +0 -91
- vgi_python-0.31.3/tests/catalog/test_scan_branches.py +0 -309
- vgi_python-0.31.3/tests/catalog/test_serialization.py +0 -1390
- vgi_python-0.31.3/tests/catalog/test_time_travel.py +0 -447
- vgi_python-0.31.3/tests/catalog/test_writable_table.py +0 -317
- vgi_python-0.31.3/tests/client/test_aggregate_client.py +0 -450
- vgi_python-0.31.3/tests/client/test_batch_metadata_callback.py +0 -77
- vgi_python-0.31.3/tests/client/test_bind_and_join_keys.py +0 -134
- vgi_python-0.31.3/tests/client/test_broken_pipe.py +0 -117
- vgi_python-0.31.3/tests/client/test_cli_catalog_functions.py +0 -535
- vgi_python-0.31.3/tests/client/test_copy_client.py +0 -286
- vgi_python-0.31.3/tests/client/test_scan_branches_client.py +0 -70
- vgi_python-0.31.3/tests/client/test_split_client.py +0 -93
- vgi_python-0.31.3/tests/client/test_stop_force.py +0 -135
- vgi_python-0.31.3/tests/client/test_table_column_statistics.py +0 -73
- vgi_python-0.31.3/tests/client/test_time_travel_client.py +0 -85
- vgi_python-0.31.3/tests/client/test_worker_debug.py +0 -202
- vgi_python-0.31.3/tests/conformance/test_function_inventory.py +0 -208
- vgi_python-0.31.3/tests/conformance/test_http_client.py +0 -202
- vgi_python-0.31.3/tests/conformance/test_http_external_location.py +0 -124
- vgi_python-0.31.3/tests/conformance/test_http_upload_url.py +0 -125
- vgi_python-0.31.3/tests/conformance/test_protocol_version.py +0 -58
- vgi_python-0.31.3/tests/conformance/test_resumable_scan.py +0 -168
- vgi_python-0.31.3/tests/conformance/test_scalar_attach_opaque_data.py +0 -86
- vgi_python-0.31.3/tests/scalar/test_bernoulli_function.py +0 -51
- vgi_python-0.31.3/tests/scalar/test_binary_packet_function.py +0 -69
- vgi_python-0.31.3/tests/scalar/test_client.py +0 -759
- vgi_python-0.31.3/tests/scalar/test_conditional_message_function.py +0 -53
- vgi_python-0.31.3/tests/scalar/test_hash_seed_function.py +0 -117
- vgi_python-0.31.3/tests/scalar/test_multiply_by_setting_function.py +0 -50
- vgi_python-0.31.3/tests/scalar/test_multiply_function.py +0 -69
- vgi_python-0.31.3/tests/scalar/test_random_bytes_function.py +0 -111
- vgi_python-0.31.3/tests/scalar/test_return_secret_value_function.py +0 -42
- vgi_python-0.31.3/tests/table/generator/test_constant_columns_function.py +0 -56
- vgi_python-0.31.3/tests/table/generator/test_double_sequence_function.py +0 -52
- vgi_python-0.31.3/tests/table/generator/test_exception_function.py +0 -64
- vgi_python-0.31.3/tests/table/generator/test_filter_echo_function.py +0 -67
- vgi_python-0.31.3/tests/table/generator/test_logging_function.py +0 -59
- vgi_python-0.31.3/tests/table/generator/test_nested_sequence_function.py +0 -71
- vgi_python-0.31.3/tests/table/generator/test_partitioned_function.py +0 -126
- vgi_python-0.31.3/tests/table/generator/test_projected_data_function.py +0 -51
- vgi_python-0.31.3/tests/table/generator/test_sequence_function.py +0 -37
- vgi_python-0.31.3/tests/table/generator/test_settings_function.py +0 -124
- vgi_python-0.31.3/tests/table/generator/test_struct_settings_function.py +0 -50
- vgi_python-0.31.3/tests/table/generator/test_ten_thousand_function.py +0 -30
- vgi_python-0.31.3/tests/table_in_out/generator/test_buffer_input_function.py +0 -44
- vgi_python-0.31.3/tests/table_in_out/generator/test_echo_function.py +0 -55
- vgi_python-0.31.3/tests/table_in_out/generator/test_exception_functions.py +0 -123
- vgi_python-0.31.3/tests/table_in_out/generator/test_filter_by_setting_function.py +0 -77
- vgi_python-0.31.3/tests/table_in_out/generator/test_repeat_inputs_function.py +0 -112
- vgi_python-0.31.3/tests/table_in_out/generator/test_substream_partial_sum_function.py +0 -73
- vgi_python-0.31.3/tests/table_in_out/generator/test_sum_all_columns_function.py +0 -299
- vgi_python-0.31.3/tests/table_in_out/test_blended_exchange.py +0 -282
- vgi_python-0.31.3/tests/table_in_out/test_client.py +0 -294
- vgi_python-0.31.3/tests/tailnet/probe.py +0 -113
- vgi_python-0.31.3/tests/test_argument_spec.py +0 -826
- vgi_python-0.31.3/tests/test_bind_exceptions.py +0 -118
- vgi_python-0.31.3/tests/test_examples_workers.py +0 -248
- vgi_python-0.31.3/tests/test_exception_handling.py +0 -281
- vgi_python-0.31.3/tests/test_filter_pushdown.py +0 -1559
- vgi_python-0.31.3/tests/test_function_shape_mismatch.py +0 -84
- vgi_python-0.31.3/tests/test_generated_cpp_request_builders.py +0 -91
- vgi_python-0.31.3/tests/test_generated_rust_request_builders.py +0 -119
- vgi_python-0.31.3/tests/test_generated_schemas_cross_lang.py +0 -116
- vgi_python-0.31.3/tests/test_generated_ts_client.py +0 -102
- vgi_python-0.31.3/tests/test_launch_transport.py +0 -117
- vgi_python-0.31.3/tests/test_metadata.py +0 -797
- vgi_python-0.31.3/tests/test_projection_enforcement.py +0 -76
- vgi_python-0.31.3/tests/test_projection_repro.py +0 -254
- vgi_python-0.31.3/tests/test_protocol_classes.py +0 -1308
- vgi_python-0.31.3/tests/test_schema_scoped_functions.py +0 -240
- vgi_python-0.31.3/tests/test_serve.py +0 -1016
- vgi_python-0.31.3/tests/test_setting_secret_annotations.py +0 -612
- vgi_python-0.31.3/tests/test_tcp_transport.py +0 -198
- vgi_python-0.31.3/tests/test_wire_record_schema_parity.py +0 -267
- vgi_python-0.31.3/tests/test_worker_page.py +0 -824
- vgi_python-0.31.3/uv.lock +0 -2919
- vgi_python-0.31.3/vgi/__init__.py +0 -154
- vgi_python-0.31.3/vgi/_test_fixtures/accumulate/worker.py +0 -762
- vgi_python-0.31.3/vgi/_test_fixtures/attach_options.py +0 -339
- vgi_python-0.31.3/vgi/_test_fixtures/bad_enum.py +0 -72
- vgi_python-0.31.3/vgi/_test_fixtures/catalog.py +0 -815
- vgi_python-0.31.3/vgi/_test_fixtures/companion.py +0 -169
- vgi_python-0.31.3/vgi/_test_fixtures/narrow_bind/worker.py +0 -237
- vgi_python-0.31.3/vgi/_test_fixtures/orchard_catalog.py +0 -47
- vgi_python-0.31.3/vgi/_test_fixtures/projection_repro/worker.py +0 -454
- vgi_python-0.31.3/vgi/_test_fixtures/scalar/__init__.py +0 -144
- vgi_python-0.31.3/vgi/_test_fixtures/scalar/arithmetic.py +0 -413
- vgi_python-0.31.3/vgi/_test_fixtures/scalar/null_handling.py +0 -107
- vgi_python-0.31.3/vgi/_test_fixtures/schema_reconcile/worker.py +0 -653
- vgi_python-0.31.3/vgi/_test_fixtures/simple_writable.py +0 -793
- vgi_python-0.31.3/vgi/_test_fixtures/table/filters.py +0 -1133
- vgi_python-0.31.3/vgi/_test_fixtures/table/late_materialization.py +0 -252
- vgi_python-0.31.3/vgi/_test_fixtures/table/same_name_schemas.py +0 -136
- vgi_python-0.31.3/vgi/_test_fixtures/table/splits.py +0 -1171
- vgi_python-0.31.3/vgi/_test_fixtures/table/tt_pushdown.py +0 -191
- vgi_python-0.31.3/vgi/_test_fixtures/table_in_out_same_name.py +0 -243
- vgi_python-0.31.3/vgi/_test_fixtures/twin_catalogs.py +0 -146
- vgi_python-0.31.3/vgi/_test_fixtures/versioned.py +0 -155
- vgi_python-0.31.3/vgi/_test_fixtures/versioned_tables.py +0 -595
- vgi_python-0.31.3/vgi/_test_fixtures/worker.py +0 -2156
- vgi_python-0.31.3/vgi/_test_fixtures/writable/generic.py +0 -236
- vgi_python-0.31.3/vgi/_test_fixtures/writable/worker.py +0 -1148
- vgi_python-0.31.3/vgi/aggregate_function.py +0 -655
- vgi_python-0.31.3/vgi/argument_spec.py +0 -773
- vgi_python-0.31.3/vgi/attach_header.py +0 -81
- vgi_python-0.31.3/vgi/catalog/__init__.py +0 -99
- vgi_python-0.31.3/vgi/catalog/catalog_interface.py +0 -3470
- vgi_python-0.31.3/vgi/catalog/descriptors.py +0 -1048
- vgi_python-0.31.3/vgi/catalog/duckdb_statistics.py +0 -404
- vgi_python-0.31.3/vgi/client/aggregate.py +0 -939
- vgi_python-0.31.3/vgi/client/catalog_mixin.py +0 -1532
- vgi_python-0.31.3/vgi/client/cli.py +0 -594
- vgi_python-0.31.3/vgi/client/cli_schema.py +0 -209
- vgi_python-0.31.3/vgi/client/cli_table.py +0 -738
- vgi_python-0.31.3/vgi/client/cli_utils.py +0 -496
- vgi_python-0.31.3/vgi/client/cli_view.py +0 -241
- vgi_python-0.31.3/vgi/client/client.py +0 -3487
- vgi_python-0.31.3/vgi/codegen/_common.py +0 -351
- vgi_python-0.31.3/vgi/codegen/cpp_request_builders.py +0 -552
- vgi_python-0.31.3/vgi/codegen/rust_request_builders.py +0 -296
- vgi_python-0.31.3/vgi/codegen/ts_client.py +0 -445
- vgi_python-0.31.3/vgi/http/worker_page.py +0 -1262
- vgi_python-0.31.3/vgi/meta_worker.py +0 -720
- vgi_python-0.31.3/vgi/metadata.py +0 -1588
- vgi_python-0.31.3/vgi/protocol.py +0 -3652
- vgi_python-0.31.3/vgi/protocol_version.txt +0 -1
- vgi_python-0.31.3/vgi/scalar_function.py +0 -1333
- vgi_python-0.31.3/vgi/split_token.py +0 -275
- vgi_python-0.31.3/vgi/table_filter_pushdown.py +0 -1951
- vgi_python-0.31.3/vgi/table_function.py +0 -1741
- vgi_python-0.31.3/vgi/transactor/protocol.py +0 -149
- vgi_python-0.31.3/vgi/transactor/server.py +0 -702
- vgi_python-0.31.3/vgi/worker.py +0 -5532
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.dockerignore +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.gitattributes +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.github/dependabot.yml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.github/styles/config/vocabularies/VGI/accept.txt +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.github/workflows/ci.yml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.github/workflows/docs.yml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.github/workflows/release.yml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.github/workflows/tailnet-integration.yml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.gitignore +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.python-version +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/.vale.ini +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/CLAUDE.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/DOCS_ACCEPTANCE_CRITERIA.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/DOCS_REVIEW_RUBRIC.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/DOCS_USABILITY_TEST.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/LICENSE +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/RELEASE-RUNBOOK.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/SECURITY.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/ci/preprocess-require.awk +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/dist-vgi/.gitignore +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/arguments.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/auth.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/catalogs.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/client.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/exceptions.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/filters.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/functions.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/http.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/index.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/observability.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/storage.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/transactor.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/api/worker.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/argument-serialization.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/apple-touch-icon.png +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/favicon-16x16.png +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/favicon-32x32.png +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/favicon.ico +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/kinds/aggregate.svg +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/kinds/buffering.svg +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/kinds/scalar.svg +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/kinds/table-in-out.svg +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/kinds/table.svg +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/logo.png +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/assets/social-card.png +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/authentication.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/concepts/index.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/contributing-docs.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/generator-api.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/catalogs.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/function-patterns.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/http-auth.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/index.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/iroh.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/pushdown-and-statistics.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/state-storage.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/how-to/tailnet.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/index.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/lifecycle.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/overrides/main.html +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/robots.txt +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/shared-storage.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/stylesheets/extra.css +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/tutorial/index.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/tutorial/scalar.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/tutorial/table.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/docs/vgi-logo.png +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/packages/vgi-fixtures/LICENSE +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/packages/vgi-fixtures/README.md +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/packages/vgi-fixtures/docker/Dockerfile +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/packages/vgi-fixtures/docker/docker-entrypoint.sh +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/packages/vgi-fixtures/pyproject.toml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/scripts/measure_startup.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/test-data/generate.sh +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/_http_fixtures.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/catalog/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/catalog/test_attach_option.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/catalog/test_client_catalog.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/catalog/test_setting.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/catalog/test_storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/client/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/client/test_cli.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/client/test_http_response_budget.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/client/test_iroh_client.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/_stub.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/conftest.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_accumulate.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_aggregate.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_attach.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_bearer_auth.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_const_param_enforcement.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_container.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_copy_from.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_copy_to.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_directory_parity.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_github.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_macro.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_overload.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_protocol_inventory.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_scalar.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_secret.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_settings.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_splits.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_table.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_table_in_out.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_view.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conformance/test_writable.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/conftest.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/anchor_len_overrun.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/bad_fingerprint.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/bad_flags_unsealed_but_key_present.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/bad_version.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/generate.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/manifest.json +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/reserved_flag_bit.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/stale_anchor.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/truncated.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/valid_sealed.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/data/split_tokens/valid_unsealed.bin +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/scalar/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/table/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/table/generator/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/table/test_wide_columns.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/table_in_out/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/table_in_out/generator/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/table_in_out/test_blended_metadata.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/tailnet/Dockerfile +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/tailnet/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/tailnet/compose.yaml +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/tailnet/run.sh +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/tailnet/test_worker.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/tailnet/worker.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_access_log_audit.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_aggregate_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_auth.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_bind_request_at_clause.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_bound_storage_conformance.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_cache_control.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_call_state_attach.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_catalog_auth_binding.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_client_oauth.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_copy_from_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_copy_to_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_docstrings.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_documentation_examples.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_example_function_arg_types.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_exceptions.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_filter_pushdown_extension.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_fixture_catalog_parity.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_function_storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_function_storage_azure_sql.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_function_storage_cf_do.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_function_storage_cf_do_integration.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_function_storage_conformance.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_cpp_constants.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_cpp_protocol_version.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_cpp_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_cpp_secret.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_go_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_java_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_protocol_version.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_rust_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_generated_ts_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_http_demo_storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_http_s3_offload_input.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_http_s3_offload_output.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_mypy_consolidated.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_nest_tensor.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_otel.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_resolved_secrets.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_schema_utils.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_signing_key.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_split_token.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_table_buffering_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_table_function_dynamic_to_string.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_type_bounds.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_union_argument.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_worker.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/test_worker_cli.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/transactor/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/tests/transactor/test_transactor.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_duckdb.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_storage_profile.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/accumulate/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/_common.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/basic.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/dynamic.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/generic.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/listagg.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/percentile.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/same_name.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/secret_typed.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/streaming.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/varargs.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/aggregate/window.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/bad_protocol.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/cancellable.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/copy_from.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/copy_to.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/global_functions.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/http_server.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/narrow_bind/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/nest_tensor.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/projection_repro/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/_common.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/bench_ladder.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/binary.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/formatting.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/geo.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/random_demo.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/same_name.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/settings_secrets.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/scalar/type_info.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/schema_reconcile/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/_common.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/batch_index.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/batch_index_broken.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/cache.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/catalog_scans.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/make_series.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/misc.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/order_modes.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/pairs.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/partition_columns.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/partition_columns_broken.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/profiling_example.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/required_filters.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/same_name_cached.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/sequence.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/settings.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/transaction_storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/typed_probe.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/versioned.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table/wide.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/table_in_out.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/writable/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/_test_fixtures/writable/table.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/arguments.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/auth.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/cache_control.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/catalog/_descriptor_spec.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/catalog/attach_option.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/catalog/secret_type.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/catalog/setting.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/catalog/storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/client/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/client/cli_catalog.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/client/cli_transaction.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/client/errors.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/cpp_constants.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/cpp_protocol_version.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/cpp_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/cpp_secret_protocol_version.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/cpp_secret_request_builders.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/cpp_secret_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/go_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/java_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/protocol_version.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/rust_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/codegen/ts_schemas.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/copy_from_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/copy_to_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/exceptions.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/function_storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/function_storage_azure_sql.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/function_storage_cf_do.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/http/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/http/demo_storage.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/http/landing.html +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/http/landing_page.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/http/vgi-client.js +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/invocation.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/logging_config.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/otel.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/profiling.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/py.typed +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/schema_utils.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/secret_protocol.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/secret_service.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/serve.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/table_buffering_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/table_in_out_function.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/transactor/__init__.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/transactor/_duckdb_compat.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/vgi/transactor/client.py +0 -0
- {vgi_python-0.31.3 → vgi_python-0.31.4}/wrangler.jsonc +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Runs the canonical Query-farm/vgi integration sqllogictest suite against the
|
|
2
|
+
# Python example worker on every push / PR. Rather than building the C++ extension
|
|
3
|
+
# from source, it drives a prebuilt standalone `haybarn-unittest` and installs the
|
|
4
|
+
# SIGNED vgi extension from the Haybarn community channel + its deps from core.
|
|
5
|
+
# The .test files come from a pinned Query-farm/vgi checkout; ci/run-integration.sh
|
|
6
|
+
# + ci/preprocess-require.awk adapt them for the standalone runner. See ci/README.md.
|
|
7
|
+
#
|
|
8
|
+
# (The separate ci.yml covers lint / type-check / unit + conformance tests / docs.
|
|
9
|
+
# Those drive the pure-Python in-process Client; this workflow is the only place
|
|
10
|
+
# the worker is exercised through the real published DuckDB extension over the wire.)
|
|
11
|
+
name: Integration suite
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
push:
|
|
15
|
+
branches: [main]
|
|
16
|
+
pull_request:
|
|
17
|
+
branches: [main]
|
|
18
|
+
workflow_dispatch:
|
|
19
|
+
|
|
20
|
+
permissions:
|
|
21
|
+
contents: read
|
|
22
|
+
|
|
23
|
+
concurrency:
|
|
24
|
+
group: integration-${{ github.ref }}
|
|
25
|
+
cancel-in-progress: true
|
|
26
|
+
|
|
27
|
+
env:
|
|
28
|
+
# The Query-farm/vgi ref whose test/sql/integration suite we run. For now this
|
|
29
|
+
# tracks the latest `main` (resolved at checkout time) so the Python port is
|
|
30
|
+
# always validated against the newest C++ test suite. Pin to a specific commit
|
|
31
|
+
# SHA here if/when reproducible, deliberate bumps are wanted (see ci/README.md).
|
|
32
|
+
VGI_REF: main
|
|
33
|
+
# The Haybarn release providing the prebuilt haybarn-unittest binary. Must be
|
|
34
|
+
# ABI-compatible with the community-published vgi extension.
|
|
35
|
+
HAYBARN_RELEASE: haybarn-v1.5.5-rc1
|
|
36
|
+
# CI is not a user: its ATTACHes should not land in Query.Farm's adoption data.
|
|
37
|
+
# The vgi extension fires a telemetry event per successful ATTACH, and this
|
|
38
|
+
# suite performs several hundred of them per lane, so opting out keeps the
|
|
39
|
+
# numbers honest. It also removes telemetry as a variable in lane timings —
|
|
40
|
+
# the per-ATTACH event was added in Query-farm/vgi 71e2d51 (2026-07-12), and
|
|
41
|
+
# the stdio lane total stepped from ~690s to ~870s across that window.
|
|
42
|
+
QUERY_FARM_TELEMETRY_OPT_OUT: "1"
|
|
43
|
+
|
|
44
|
+
jobs:
|
|
45
|
+
integration:
|
|
46
|
+
runs-on: ubuntu-latest
|
|
47
|
+
timeout-minutes: 45
|
|
48
|
+
strategy:
|
|
49
|
+
# If any transport leg fails, cancel the rest — one broken transport means
|
|
50
|
+
# the build is broken; no value in burning ~45 min finishing the others.
|
|
51
|
+
fail-fast: true
|
|
52
|
+
matrix:
|
|
53
|
+
include:
|
|
54
|
+
# launch: the primary lane, over the reusable AF_UNIX launcher transport.
|
|
55
|
+
# shm: launch + the POSIX shared-memory side channel. Rides the
|
|
56
|
+
# launcher, not raw subprocess, to avoid paying the
|
|
57
|
+
# fork-per-connection cost for the whole suite.
|
|
58
|
+
# http: the whole suite over the stateless HTTP transport.
|
|
59
|
+
- { lane: launch }
|
|
60
|
+
- { lane: shm, shm_bytes: '67108864' }
|
|
61
|
+
- { lane: http }
|
|
62
|
+
name: integration (${{ matrix.lane }})
|
|
63
|
+
steps:
|
|
64
|
+
- name: Checkout vgi-python
|
|
65
|
+
uses: actions/checkout@v7
|
|
66
|
+
|
|
67
|
+
- name: Checkout pinned vgi test suite
|
|
68
|
+
uses: actions/checkout@v7
|
|
69
|
+
with:
|
|
70
|
+
repository: Query-farm/vgi
|
|
71
|
+
ref: ${{ env.VGI_REF }}
|
|
72
|
+
path: vgi-upstream
|
|
73
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
74
|
+
|
|
75
|
+
- name: Install uv
|
|
76
|
+
uses: astral-sh/setup-uv@v9.0.0
|
|
77
|
+
|
|
78
|
+
- name: Set up Python 3.14
|
|
79
|
+
run: uv python install 3.14
|
|
80
|
+
|
|
81
|
+
- name: Install dependencies (vgi + fixtures + all extras)
|
|
82
|
+
run: uv sync --all-extras --python 3.14
|
|
83
|
+
|
|
84
|
+
- name: Download haybarn-unittest
|
|
85
|
+
run: |
|
|
86
|
+
gh release download "$HAYBARN_RELEASE" \
|
|
87
|
+
--repo Query-farm-haybarn/haybarn \
|
|
88
|
+
--pattern 'haybarn_unittest-linux-amd64.zip' \
|
|
89
|
+
--output /tmp/haybarn-unittest.zip --clobber
|
|
90
|
+
unzip -o -q /tmp/haybarn-unittest.zip -d /tmp/haybarn-unittest
|
|
91
|
+
UNITTEST=$(find /tmp/haybarn-unittest -name 'haybarn-unittest' -type f | head -1)
|
|
92
|
+
chmod +x "$UNITTEST"
|
|
93
|
+
echo "HAYBARN_UNITTEST=$UNITTEST" >> "$GITHUB_ENV"
|
|
94
|
+
env:
|
|
95
|
+
GH_TOKEN: ${{ github.token }}
|
|
96
|
+
|
|
97
|
+
- name: Run integration suite (${{ matrix.lane }})
|
|
98
|
+
run: ci/run-integration.sh
|
|
99
|
+
env:
|
|
100
|
+
VGI_SRC: ${{ github.workspace }}/vgi-upstream
|
|
101
|
+
TRANSPORT: ${{ matrix.lane }}
|
|
102
|
+
# Empty on every lane except shm; run-integration.sh drops an empty value.
|
|
103
|
+
VGI_RPC_SHM_SIZE_BYTES: ${{ matrix.shm_bytes || '' }}
|