You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The "examples" directory has grown to ~12,000 lines / 16 files — it's
the regression-test fixture catalog used by the pytest suite, the C++
sqllogictest harness, and the conformance suite, not tutorial code.
Calling it "examples" misled readers and pulled fixture-only deps
(numpy, sqlglot) into the core install.
What changed:
- Moved 13 fixture files vgi/examples/*.py → vgi/_test_fixtures/*.py and
3 writable-related files into vgi/_test_fixtures/writable/ as a
subpackage. vgi/transactor/ stays at top level — it's production code,
not a fixture, even though only the writable fixtures consume it today.
- Renamed vgi-example-* scripts to vgi-fixture-* (no deprecation shims
per request). vgi-transactor keeps its name. vgi-fixture-worker still
serves both example and writable catalogs, falling back to example-only
when the writable extra is absent.
- Gated deps behind new extras:
- [test-fixtures] → numpy
- [transactor] → sqlglot
- [test-fixtures-writable] → vgi[test-fixtures] + vgi[transactor]
- [dev] now includes all of the above so contributors don't notice
- Core install drops numpy + sqlglot
- Friendly errors: vgi-fixture-worker, vgi-fixture-writable-worker, and
vgi-transactor each emit a clear "install vgi[X]" message and exit 1
when the relevant extra is missing, instead of a raw ImportError.
- Swept all import sites and script-name references across CLAUDE.md,
README.md, docs/cli.md, vgi/client/cli.py help/default, conftest
(example_worker → fixture_worker), tests, and the C++ companion repo.
Verified:
- uv run mypy vgi/ → clean
- uv run pytest tests/ -n auto → 1526 passed / 71 skipped
- Lean-install smoke test (no extras): `from vgi.client import Client`
works; vgi-fixture-worker / vgi-fixture-writable-worker / vgi-transactor
all print the install hint and exit 1
- C++ aggregate suite passes (12 / 3 skipped) under
VGI_TEST_WORKER=vgi-fixture-worker
- C++ database_tags.test passes with the renamed worker tag
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@@ -276,7 +276,7 @@ Set `VGI_WORKER_DEBUG=1` to enable comprehensive debugging for worker failures.
276
276
2.**Client side**: Forces `passthrough_stderr=True`, streaming worker logs to the terminal in real-time
277
277
278
278
```bash
279
-
VGI_WORKER_DEBUG=1 vgi-example-worker
279
+
VGI_WORKER_DEBUG=1 vgi-fixture-worker
280
280
```
281
281
282
282
When used from the Python client without this env var, errors from worker failures automatically include captured stderr (last 50 lines) in the `ClientError` message. This means integrators using C++ or other clients get the Python traceback in the error message instead of just a generic exit code.
@@ -301,7 +301,7 @@ Accepts `1`, `true`, or `yes` (case-insensitive). Zero overhead when not set.
301
301
Enable `VGI_FILTER_DEBUG=1` to trace filter pushdown deserialization, parsing, and evaluation. Useful for debugging filter pushdown issues and understanding how filters are applied.
302
302
303
303
```bash
304
-
VGI_FILTER_DEBUG=1 vgi-example-worker
304
+
VGI_FILTER_DEBUG=1 vgi-fixture-worker
305
305
```
306
306
307
307
**Key events logged:**
@@ -415,7 +415,7 @@ during the bind phase, allowing output schema to depend on setting values.
You can also use the `VGI_WORKER_DEBUG=1` environment variable, which enables `--debug` on the worker and stderr passthrough on the client without changing any code or CLI flags:
0 commit comments