vgi-python 0.38.0__tar.gz → 0.38.1__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.38.0 → vgi_python-0.38.1}/CLAUDE.md +1 -1
- {vgi_python-0.38.0 → vgi_python-0.38.1}/PKG-INFO +1 -1
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/catalog-interface.md +2 -3
- {vgi_python-0.38.0 → vgi_python-0.38.1}/pyproject.toml +1 -1
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_directory_parity.py +13 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/uv.lock +1 -1
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/attach_option.py +13 -13
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/http/landing.html +1 -1
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/http/worker_page.py +2 -2
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.dockerignore +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.gitattributes +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/dependabot.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/styles/config/vocabularies/VGI/accept.txt +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/workflows/ci.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/workflows/docs.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/workflows/integration.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/workflows/release.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.github/workflows/tailnet-integration.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.gitignore +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.python-version +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/.vale.ini +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/DOCS_ACCEPTANCE_CRITERIA.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/DOCS_REVIEW_RUBRIC.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/DOCS_USABILITY_TEST.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/LICENSE +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/PROTOCOL.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/README.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/RELEASE-RUNBOOK.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/SECURITY.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/ci/README.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/ci/preprocess-require.awk +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/ci/run-integration.sh +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/README.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/and-too-few-children.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/delta-required-upsert.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/nested-runtime-filter.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/remove-with-expression.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/required-runtime-filter.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/snapshot-nonzero-revision.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/unknown-document-property.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/unknown-node.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/advisory-upsert-delta.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/boolean-column-predicate.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/empty-snapshot.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/nested-required-snapshot.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/remove-delta.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/runtime-filter-snapshot.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/filter-v2.schema.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/generate_runtime.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/manifest.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/run_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-add/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-add/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-add/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-multiply/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-multiply/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-multiply/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-negate/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-negate/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-negate/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-subtract/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-subtract/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-subtract/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/cast-integer-to-double/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/cast-integer-to-double/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/cast-integer-to-double/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-distinct_from/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-distinct_from/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-distinct_from/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-distinct_from/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-not_distinct_from/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-not_distinct_from/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-not_distinct_from/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-not_distinct_from/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-atomic-multi-update/delta-0.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-atomic-multi-update/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-atomic-multi-update/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-atomic-multi-update/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/delta-0.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-upsert-remove-stale/delta-0.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-upsert-remove-stale/delta-1.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-upsert-remove-stale/delta-2.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-upsert-remove-stale/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-upsert-remove-stale/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-upsert-remove-stale/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-cast-type-not-null/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-cast-type-not-null/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-index/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-index/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-name/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-name/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-contextual-cast-without-session/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-contextual-cast-without-session/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-duplicate-predicate-id/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-duplicate-predicate-id/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-external-column-index/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-external-column-index/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-external-column-index/join-keys-0.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-external-column-name/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-external-column-name/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-external-column-name/join-keys-0.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-field-non-struct/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-field-non-struct/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-in-payload-not-list/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-in-payload-not-list/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-in-payload-null-list/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-in-payload-null-list/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-invalid-overload/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-invalid-overload/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-missing-literal/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-missing-literal/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-non-boolean-root/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-non-boolean-root/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-unknown-standard-function/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-unknown-standard-function/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/external-in-nonzero-column/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/external-in-nonzero-column/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/external-in-nonzero-column/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/external-in-nonzero-column/join-keys-0.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/external-in-nonzero-column/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-contains/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-contains/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-contains/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-ends-with/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-ends-with/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-ends-with/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-list-contains/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-list-contains/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-list-contains/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-starts-with/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-starts-with/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-starts-with/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-empty/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-empty/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-empty/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-empty/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-not-null/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-not-null/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-not-null/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-not-null/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-null/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-null/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-null/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-null/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-and/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-and/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-and/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-not/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-not/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-not/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-or/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-or/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/kleene-or/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/nan-comparison/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/nan-comparison/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/nan-comparison/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/negative-zero-membership/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/negative-zero-membership/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/negative-zero-membership/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/nested-null-propagation/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/nested-null-propagation/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/nested-null-propagation/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-empty/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-empty/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-empty/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-empty/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-with-null/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-with-null/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-with-null/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/not-in-with-null/worker-expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/session-integer-division/expected.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/session-integer-division/filter.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/session-integer-division/input.arrow +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime-manifest.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/dist-vgi/.gitignore +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/aggregate-functions.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/arguments.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/auth.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/catalogs.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/client.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/exceptions.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/filters.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/functions.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/http.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/index.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/metadata.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/observability.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/storage.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/transactor.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/api/worker.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/argument-serialization.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/apple-touch-icon.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/favicon-16x16.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/favicon-32x32.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/favicon.ico +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/kinds/aggregate.svg +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/kinds/buffering.svg +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/kinds/scalar.svg +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/kinds/table-in-out.svg +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/kinds/table.svg +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/logo.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/social-card.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/assets/video-thumbnail.jpg +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/authentication.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/cli.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/column-statistics.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/concepts/index.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/contributing-docs.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/filter-pushdown.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/generator-api.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/global-functions.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/catalogs.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/function-patterns.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/http-auth.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/index.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/iroh.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/pushdown-and-statistics.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/state-storage.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/how-to/tailnet.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/index.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/lifecycle.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/metadata.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/overrides/main.html +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/protocol/index.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/protocol/vgi-catalog-query-pushdown-design.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/protocol/vgi-duckdb-filter-adapter.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/protocol/vgi-filter-encoding-v2-spec.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/protocol/vgi-protocol-proposed-changes.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/protocol/vgi-runtime-filter-artifacts.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/robots.txt +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/shared-storage.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/stylesheets/extra.css +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/tutorial/index.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/tutorial/scalar.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/tutorial/table.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/docs/vgi-logo.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/batch_index_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/cache_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/calc_scalar_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/calc_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/copy_format_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/filter_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/greeting_scalar_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/row_count_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/series_streaming_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/examples/sum_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/identity.png +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/mkdocs.yml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/packages/vgi-fixtures/LICENSE +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/packages/vgi-fixtures/README.md +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/packages/vgi-fixtures/docker/Dockerfile +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/packages/vgi-fixtures/docker/docker-entrypoint.sh +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/packages/vgi-fixtures/pyproject.toml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/scripts/measure_startup.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/scripts/regen_generated.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/scripts/run_all_tests.sh +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/test-data/generate.sh +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/_http_fixtures.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_attach_option.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_catalog_interface.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_client_catalog.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_column_statistics.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_declarative.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_example_worker_catalog.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_integration.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_required_filters.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_scan_branches.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_serialization.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_setting.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_time_travel.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/catalog/test_writable_table.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_aggregate_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_batch_metadata_callback.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_bind_and_join_keys.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_broken_pipe.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_cli.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_cli_catalog_functions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_copy_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_http_response_budget.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_iroh_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_scan_branches_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_split_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_stop_force.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_table_column_statistics.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_time_travel_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/client/test_worker_debug.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/_stub.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/conftest.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_accumulate.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_aggregate.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_attach.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_bearer_auth.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_const_param_enforcement.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_container.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_copy_from.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_copy_to.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_function_inventory.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_github.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_http_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_http_external_location.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_http_upload_url.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_macro.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_overload.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_protocol_inventory.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_protocol_version.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_resumable_scan.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_scalar.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_scalar_attach_opaque_data.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_secret.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_settings.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_splits.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_table.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_table_in_out.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_view.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conformance/test_writable.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/conftest.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/anchor_len_overrun.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/bad_fingerprint.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/bad_flags_unsealed_but_key_present.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/bad_version.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/generate.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/manifest.json +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/reserved_flag_bit.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/stale_anchor.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/truncated.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/valid_sealed.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/data/split_tokens/valid_unsealed.bin +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_bernoulli_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_binary_packet_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_conditional_message_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_hash_seed_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_multiply_by_setting_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_multiply_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_random_bytes_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/scalar/test_return_secret_value_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_constant_columns_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_double_sequence_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_exception_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_filter_echo_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_logging_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_nested_sequence_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_partitioned_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_projected_data_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_sequence_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_settings_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_struct_settings_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/generator/test_ten_thousand_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table/test_wide_columns.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_buffer_input_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_echo_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_exception_functions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_filter_by_setting_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_repeat_inputs_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_substream_partial_sum_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/generator/test_sum_all_columns_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/test_blended_exchange.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/test_blended_metadata.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/table_in_out/test_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/Dockerfile +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/compose.yaml +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/probe.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/run.sh +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/test_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/tailnet/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_access_log_audit.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_aggregate_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_argument_spec.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_auth.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_bind_exceptions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_bind_request_at_clause.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_bound_storage_conformance.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_cache_control.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_call_state_attach.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_catalog_auth_binding.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_client_oauth.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_codegen_request_inventory.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_copy_from_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_copy_to_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_docstrings.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_documentation_examples.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_dynamic_filter_http_turns.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_example_function_arg_types.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_examples_workers.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_exception_handling.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_exceptions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_filter_pushdown.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_filter_pushdown_extension.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_filter_v2.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_filter_v2_builder.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_filter_v2_runtime_corpus.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_filter_v2_spec_schema.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_fixture_catalog_parity.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_function_shape_mismatch.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_function_storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_function_storage_azure_sql.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_function_storage_cf_do.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_function_storage_cf_do_integration.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_function_storage_conformance.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_cpp_constants.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_cpp_protocol_name.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_cpp_protocol_version.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_cpp_request_builders.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_cpp_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_cpp_secret.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_go_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_java_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_protocol_version.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_rust_request_builders.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_rust_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_schemas_cross_lang.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_ts_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_generated_ts_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_http_demo_storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_http_s3_offload_input.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_http_s3_offload_output.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_import_side_effects.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_landing_discovery.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_launch_transport.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_metadata.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_mypy_consolidated.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_nest_tensor.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_otel.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_projection_enforcement.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_projection_repro.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_protocol_classes.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_resolved_secrets.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_schema_paths_v2.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_schema_scoped_functions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_schema_utils.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_serve.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_setting_secret_annotations.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_signing_key.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_split_token.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_subprocess_transport.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_table_buffering_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_table_function_dynamic_to_string.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_tcp_transport.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_type_bounds.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_union_argument.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_wire_record_schema_parity.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_worker_cli.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_worker_page.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/test_write_results.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/transactor/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/tests/transactor/test_transactor.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_duckdb.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_storage_profile.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/accumulate/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/accumulate/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/_common.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/basic.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/dynamic.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/generic.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/listagg.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/percentile.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/same_name.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/secret_typed.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/streaming.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/varargs.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/aggregate/window.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/attach_options.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/bad_enum.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/bad_protocol.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/cancellable.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/catalog.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/companion.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/copy_from.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/copy_to.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/global_functions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/http_server.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/narrow_bind/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/narrow_bind/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/nest_tensor.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/orchard_catalog.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/projection_repro/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/projection_repro/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/_common.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/arithmetic.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/bench_ladder.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/binary.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/formatting.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/geo.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/null_handling.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/random_demo.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/same_name.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/settings_secrets.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/scalar/type_info.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/schema_reconcile/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/schema_reconcile/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/secret_cache.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/simple_writable.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/_common.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/batch_index.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/batch_index_broken.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/cache.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/catalog_scans.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/filters.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/late_materialization.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/make_series.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/misc.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/order_modes.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/pairs.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/partition_columns.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/partition_columns_broken.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/profiling_example.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/required_filters.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/same_name_cached.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/same_name_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/sequence.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/settings.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/splits.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/transaction_storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/tt_pushdown.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/typed_probe.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/versioned.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table/wide.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table_in_out.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/table_in_out_same_name.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/twin_catalogs.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/versioned.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/versioned_tables.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/writable/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/writable/generic.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/writable/table.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/_test_fixtures/writable/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/aggregate_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/argument_spec.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/arguments.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/attach_header.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/auth.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/cache_control.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/_descriptor_spec.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/catalog_interface.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/descriptors.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/duckdb_statistics.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/secret_type.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/setting.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/catalog/storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/aggregate.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/catalog_mixin.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli_catalog.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli_schema.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli_table.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli_transaction.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli_utils.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/cli_view.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/client/errors.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/_common.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_constants.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_protocol_name.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_protocol_version.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_request_builders.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_secret_protocol_version.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_secret_request_builders.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/cpp_secret_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/go_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/java_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/protocol_version.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/rust_request_builders.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/rust_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/ts_client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/codegen/ts_schemas.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/copy_from_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/copy_to_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/exceptions.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/filter_v2.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/filter_v2_builder.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/function_storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/function_storage_azure_sql.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/function_storage_cf_do.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/http/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/http/demo_storage.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/http/landing_page.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/http/vgi-client.js +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/invocation.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/logging_config.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/meta_worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/metadata.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/otel.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/profiling.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/protocol.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/protocol_version.txt +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/py.typed +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/scalar_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/schema_path.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/schema_utils.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/secret_protocol.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/secret_service.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/serve.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/split_token.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/table_buffering_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/table_filter_pushdown.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/table_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/table_in_out_function.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/transactor/__init__.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/transactor/_duckdb_compat.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/transactor/client.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/transactor/protocol.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/transactor/server.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/worker.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/vgi/write_results.py +0 -0
- {vgi_python-0.38.0 → vgi_python-0.38.1}/wrangler.jsonc +0 -0
|
@@ -392,7 +392,7 @@ Set `SENTRY_DSN` (and install `vgi[sentry]`) to forward unhandled exceptions to
|
|
|
392
392
|
|
|
393
393
|
**Attach options redaction:** by default *no* options are logged in the `catalog.attach` / `catalog.create` breadcrumbs because options routinely carry credentials. Implementers opt in via `CatalogInterface.loggable_attach_options(options) -> Mapping`, which returns a redacted, safe-to-log subset (host, region, bucket — never password/token/secret). When the override returns an empty mapping (the default), the `options` field is omitted from the breadcrumb entirely. See `docs/catalog-interface.md` for details.
|
|
394
394
|
|
|
395
|
-
**Secret attach options:** credential options (API keys, tokens, passwords) MUST be declared `AttachOption(..., secret=True)`. `AttachOptionSpec.secret` rides as a nullable `bool` column named `secret` appended after `required` (an absent column reads as `False`); clients and the DuckDB extension
|
|
395
|
+
**Secret attach options:** credential options (API keys, tokens, passwords) MUST be declared `AttachOption(..., secret=True)`. `AttachOptionSpec.secret` rides as a nullable `bool` column named `secret` appended after `required` (an absent column reads as `False`); they are passed inline at ATTACH; clients mask them, and the DuckDB extension redacts them from `duckdb_databases()`, keeps only a salted hash of them in its cache key, and never logs them. Keep a credential out of the SQL text with an expression: `ATTACH 'sales' (TYPE vgi, LOCATION '…', api_key getenv('SALES_API_KEY'))`. Secret + required is fine; secret + default is allowed but discouraged.
|
|
396
396
|
|
|
397
397
|
**Releases.** `vgi-serve` populates `release` from `SENTRY_RELEASE` if set, otherwise from `importlib.metadata.version("vgi-python")`. Production deploys should set `SENTRY_RELEASE=$(git rev-parse HEAD)` (or a tagged release identifier) so Sentry's commit-tracking and regression-detection features can correlate events to specific commits. Publishing GitHub releases makes the release-comparison UI more useful.
|
|
398
398
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: vgi-python
|
|
3
|
-
Version: 0.38.
|
|
3
|
+
Version: 0.38.1
|
|
4
4
|
Summary: Vector Gateway Interface - Connect DuckDB to external programs via Apache Arrow
|
|
5
5
|
Project-URL: Homepage, https://query.farm
|
|
6
6
|
Project-URL: Repository, https://github.com/Query-farm/vgi-python
|
|
@@ -267,11 +267,10 @@ class MyWorker(Worker):
|
|
|
267
267
|
| `required=True` | The caller must supply the option. Declare it with no class-level default; `required` plus a default is rejected. |
|
|
268
268
|
| `secret=True` | The option carries a credential. |
|
|
269
269
|
|
|
270
|
-
**Credential options (API keys, tokens, passwords) MUST be declared `secret=True`.** Clients and the DuckDB extension
|
|
270
|
+
**Credential options (API keys, tokens, passwords) MUST be declared `secret=True`.** The caller passes them inline as attach options. Clients mask secret options, and the DuckDB extension redacts them from `duckdb_databases()`, keeps only a salted hash of them in its result-cache key, and never logs them. To keep a credential out of the SQL text (shell history, scripts, shared links), write the option as an expression:
|
|
271
271
|
|
|
272
272
|
```sql
|
|
273
|
-
|
|
274
|
-
ATTACH 'mydb' AS mydb (TYPE vgi, LOCATION 'https://worker.example.com');
|
|
273
|
+
ATTACH 'mydb' (TYPE vgi, LOCATION 'https://worker.example.com', api_key getenv('MYDB_API_KEY'));
|
|
275
274
|
```
|
|
276
275
|
|
|
277
276
|
`secret` combines with `required`. It is allowed together with a default, but a secret option should normally have none: the default is advertised in plain text to every client at discovery.
|
|
@@ -79,6 +79,19 @@ _EXEMPTIONS: dict[str, str] = {
|
|
|
79
79
|
"(it spawns the Python worker as a subprocess); the Python client never "
|
|
80
80
|
"exercises the launcher surface."
|
|
81
81
|
),
|
|
82
|
+
"attach_secrets": (
|
|
83
|
+
"Masking, redaction from duckdb_databases() and cache-key hashing of secret "
|
|
84
|
+
"attach options happen inside the C++ extension. The Python side is the "
|
|
85
|
+
"AttachOptionSpec.secret wire column, covered by "
|
|
86
|
+
"tests/catalog/test_attach_option.py (round trip, absent column, interaction "
|
|
87
|
+
"with required)."
|
|
88
|
+
),
|
|
89
|
+
"location_policy": (
|
|
90
|
+
"LOCATION transport policy (vgi_allowed_transports, enable_external_access) "
|
|
91
|
+
"is enforced by the C++ extension before it starts or connects to a worker; "
|
|
92
|
+
"it is a DuckDB setting with no counterpart in the Python client, which is "
|
|
93
|
+
"handed a transport directly."
|
|
94
|
+
),
|
|
82
95
|
"simple_writable": (
|
|
83
96
|
"INSERT/UPDATE/DELETE/RETURNING write paths are mirrored by "
|
|
84
97
|
"test_writable.py, which drives the same operations against the writable "
|
|
@@ -11,12 +11,12 @@ format, same Python type → Arrow mapping, same extractor shape — so both sha
|
|
|
11
11
|
the machinery in ``vgi.catalog._descriptor_spec``.
|
|
12
12
|
|
|
13
13
|
Credential options (API keys, tokens, passwords) MUST be declared
|
|
14
|
-
``secret=True``.
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
``secret=True``. The caller passes them inline as attach options; the DuckDB
|
|
15
|
+
extension redacts them from ``duckdb_databases()``, keeps only a salted hash of
|
|
16
|
+
them in its result-cache key, and never logs them. To keep a credential out of
|
|
17
|
+
the SQL text, write the option as an expression::
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
ATTACH 'mydb' AS mydb (TYPE vgi, LOCATION 'https://worker.example.com');
|
|
19
|
+
ATTACH 'mydb' (TYPE vgi, LOCATION 'https://worker.example.com', api_key getenv('MYDB_API_KEY'));
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
from dataclasses import dataclass
|
|
@@ -51,11 +51,12 @@ class AttachOptionSpec(_SpecBase):
|
|
|
51
51
|
Mutually exclusive with ``default`` — an option that falls back to
|
|
52
52
|
a value is by definition satisfiable without the caller.
|
|
53
53
|
secret: The option carries a credential (an API key, token or
|
|
54
|
-
password).
|
|
55
|
-
|
|
56
|
-
``
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
password). It is still passed inline at ``ATTACH``, but clients
|
|
55
|
+
mask it, and the DuckDB extension redacts it from
|
|
56
|
+
``duckdb_databases()``, keeps only a salted hash of it in its
|
|
57
|
+
result-cache key, and never logs it. Keep it out of the SQL text
|
|
58
|
+
with an expression, e.g. ``api_key getenv('MYDB_API_KEY')``.
|
|
59
|
+
Credential options MUST set this.
|
|
59
60
|
Compatible with ``required``. Allowed alongside a ``default``, but a
|
|
60
61
|
secret option should normally have none: a default credential is
|
|
61
62
|
advertised in plain text to every client at discovery.
|
|
@@ -123,9 +124,8 @@ class AttachOption(_DescriptorBase):
|
|
|
123
124
|
Attributes:
|
|
124
125
|
required: The caller must supply this option at ``ATTACH`` time.
|
|
125
126
|
secret: The option carries a credential. Clients and the DuckDB
|
|
126
|
-
extension mask it, keep
|
|
127
|
-
|
|
128
|
-
no default.
|
|
127
|
+
extension mask it, keep only a salted hash of it in cache keys, and
|
|
128
|
+
never log it. Should normally have no default.
|
|
129
129
|
|
|
130
130
|
"""
|
|
131
131
|
|
|
@@ -793,7 +793,7 @@ function attachOptionsHtml(c){
|
|
|
793
793
|
'<table class="opts"><thead><tr><th>Option</th><th>Type</th><th>Default</th><th>Description</th></tr></thead><tbody>'+
|
|
794
794
|
opts.map(o=>'<tr><td class="o-name">'+esc(o.name)+
|
|
795
795
|
(o.required?'<span class="o-req" title="Must be supplied at ATTACH time">required</span>':'')+
|
|
796
|
-
(o.secret?'<span class="o-req" title="A credential:
|
|
796
|
+
(o.secret?'<span class="o-req" title="A credential: redacted and never logged. Keep it out of the SQL text with an expression such as getenv()">secret</span>':'')+
|
|
797
797
|
'</td><td class="o-type">'+esc(o.type)+'</td><td class="o-def">'+esc(o.secret&&o.default?'hidden':(o.default||'—'))+'</td><td class="o-desc">'+esc(o.description||'')+'</td></tr>').join('')+
|
|
798
798
|
'</tbody></table></details>';
|
|
799
799
|
}
|
|
@@ -597,8 +597,8 @@ def _build_attach_options_table(specs: tuple[AttachOptionSpec, ...]) -> str:
|
|
|
597
597
|
flags += ' <span class="o-flag" title="Must be supplied at ATTACH time">required</span>'
|
|
598
598
|
if spec.secret:
|
|
599
599
|
flags += (
|
|
600
|
-
' <span class="o-flag" title="A credential:
|
|
601
|
-
'
|
|
600
|
+
' <span class="o-flag" title="A credential: redacted and never logged. Keep it out of '
|
|
601
|
+
'the SQL text with an expression such as getenv()">secret</span>'
|
|
602
602
|
)
|
|
603
603
|
parts.append(
|
|
604
604
|
f"<tr><td><code>{_esc(spec.name)}</code>{flags}</td>"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/negative/unknown-node.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/empty-snapshot.json
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/cases/positive/remove-delta.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-add/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-add/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-add/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-negate/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/arithmetic-negate/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-eq/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ge/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-gt/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-le/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-lt/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/comparison-ne/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/delta-0.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/delta-empty-noop/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/empty-snapshot/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-index/input.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-name/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/error-column-name/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-contains/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-contains/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/function-ends-with/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-empty/expected.arrow
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-empty/worker-expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/expected.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/filter.arrow
RENAMED
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/in-with-null/input.arrow
RENAMED
|
File without changes
|
|
File without changes
|
{vgi_python-0.38.0 → vgi_python-0.38.1}/conformance/filter-v2/runtime/is-not-null/expected.arrow
RENAMED
|
File without changes
|