Skip to content

Commit 726712e

Browse files
rustyconoverclaude
andcommitted
Declare pycryptodome as a core dependency; release 0.48.2
catalog_attach imports vgi.query_execution, which imports vgi_rpc.crypto (pycryptodome). vgi-rpc only installs pycryptodome under its http extra, so any worker that installs vgi-python without extras failed at ATTACH with ModuleNotFoundError: No module named 'Crypto' (since 0.48.0). Add a bare-install CI job that imports the attach-path modules from the wheel with no extras; every other job syncs --all-extras. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent dc3e164 commit 726712e

3 files changed

Lines changed: 29 additions & 3 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,26 @@ jobs:
147147
- name: Run hosted-protocols group (stdio, unix, http)
148148
run: scripts/hosted_protocols_conformance.sh
149149

150+
bare-install:
151+
# Every other job syncs --all-extras, which hides a core-dependency gap: a
152+
# worker that installs vgi-python with no extras must still import the
153+
# modules catalog_attach reaches (0.48.0 shipped without pycryptodome).
154+
name: Bare install (no extras)
155+
runs-on: ubuntu-latest
156+
steps:
157+
- uses: actions/checkout@v7
158+
159+
- name: Install uv
160+
uses: astral-sh/setup-uv@v10.2.0
161+
162+
- name: Build wheel
163+
run: uv build --wheel --out-dir dist .
164+
165+
- name: Import attach-path modules from the bare wheel
166+
run: |
167+
uv run --isolated --no-project --python 3.14 --with dist/*.whl \
168+
python -c "import vgi, vgi.worker, vgi.query_execution; print('ok')"
169+
150170
s3-offload-localstack:
151171
name: S3 Offload Tests (LocalStack)
152172
runs-on: ubuntu-latest

‎pyproject.toml‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "vgi-python"
3-
version = "0.48.1"
3+
version = "0.48.2"
44
description = "Vector Gateway Interface - Connect DuckDB to external programs via Apache Arrow"
55
readme = "README.md"
66
keywords = [
@@ -42,6 +42,10 @@ dependencies = [
4242
"platformdirs",
4343
"vgi-rpc>=0.52.3",
4444
"httpx2>=2.12.0",
45+
# vgi.query_execution seals execution handles with vgi_rpc.crypto, which
46+
# imports pycryptodome. vgi-rpc only pulls it in under its `http` extra, but
47+
# catalog_attach reaches query_execution on every transport (stdio too).
48+
"pycryptodome>=3.20",
4549
]
4650

4751
[project.optional-dependencies]

‎uv.lock‎

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)