Issue
On a fresh clean-machine install (pip install sqllocks-spindle v2.13.0 + Python 3.12), running:
spindle generate retail --scale small --seed 42 --output ./demo-data/ --format parquet
…fails with:
ImportError: Unable to find a usable engine; tried using: 'pyarrow', 'fastparquet'.
A suitable version of pyarrow or fastparquet is required for parquet support.
Workaround: pip install pyarrow — then it works perfectly.
Why this matters
Spindle's pitch is Microsoft Fabric / Lakehouse, which writes Delta/Parquet. The README quick-start mentions Lakehouse, Warehouse, etc. — but the default install can't write parquet without an extra step.
Recommended fixes (pick one)
- Add
pyarrow to core install_requires — simplest, but adds ~50MB to the install
- Add a
[fabric] or [parquet] extras_require — users can opt-in via pip install sqllocks-spindle[fabric]
- Document clearly in README — explicit "for parquet output, also install pyarrow"
Leaning toward #2 — keeps the core install small but makes the Fabric story one command:
pip install sqllocks-spindle[fabric]
Test repro
Fresh venv, Python 3.12.10, Windows. Full session captured in tracker.
Friction context
Found during the Step 10 launch-pre-flight test (clean-machine install). End-to-end time from venv creation to working CSV output was 22 seconds. Parquet was the only blocker.
Issue
On a fresh clean-machine install (
pip install sqllocks-spindlev2.13.0 + Python 3.12), running:…fails with:
Workaround:
pip install pyarrow— then it works perfectly.Why this matters
Spindle's pitch is Microsoft Fabric / Lakehouse, which writes Delta/Parquet. The README quick-start mentions Lakehouse, Warehouse, etc. — but the default install can't write parquet without an extra step.
Recommended fixes (pick one)
pyarrowto core install_requires — simplest, but adds ~50MB to the install[fabric]or[parquet]extras_require — users can opt-in viapip install sqllocks-spindle[fabric]Leaning toward #2 — keeps the core install small but makes the Fabric story one command:
Test repro
Fresh venv, Python 3.12.10, Windows. Full session captured in tracker.
Friction context
Found during the Step 10 launch-pre-flight test (clean-machine install). End-to-end time from venv creation to working CSV output was 22 seconds. Parquet was the only blocker.