feat: add generic Hugging Face dataset converter - #9653
Conversation
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Merging this PR will improve performance by 35.78%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | WallTime | arrow_checked_add_u32_neon[16384] |
20.5 µs | 13.3 µs | +53.3% |
| ⚡ | WallTime | arrow_checked_add_u32_avx2[16384] |
21.3 µs | 17.7 µs | +20.27% |
Tip
Curious why performance improved? Comment @codspeedbot explain why performance improved on this PR, or directly use the CodSpeed MCP with your agent.
Comparing ji/hf-dataset-vortex-converter (0366a8a) with develop (68e2aee)
Footnotes
-
106 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
4 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Cleaned-up port of scripts/huggingface-convert.py from vortex-data/vortex#9653. The script now takes a list of external source repositories (--sources JSON or a single --repo), diffs each selected Parquet shard against the same-named path in the destination vortex-data repository, and downloads/converts/uploads only the missing files. Adds --dry-run diff reporting, per-source checkpoints and metrics, a sources.example.json, tests, and a README. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GzCzGvYf8WQcyUnQLc7cZS
Add plan/apply orchestration, adaptive bounded pipelines, live telemetry, Xet timeout retries, local validation coverage, and operational learnings. Signed-off-by: "Joe Isaacs" <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Summary
scripts/as a non-packageuvworkspace project with declared converter dependenciesValidation
uv run --project scripts python -m unittest scripts/tests/test_hf_parquet_convert.py(23 tests, 1 skipped)uv run --project scripts python -m unittest scripts/tests/test_hf_parquet_convert_v2.py(23 tests, 1 skipped)uv run --project scripts scripts/huggingface-convert.py --helpgit diff --checkThe converter has also been exercised against a large FineWeb upload, but it contains no FineWeb-specific repository or path assumptions.