[!NOTE] Made with ❤️ by @clflushopt, @alamb and @kevinjqliu
Originally
clflushopt/tpchgen-rs, the project is now maintained atdatafusion-contrib/tpcgen-rs
Modern, blazing fast and easy to use TPC-H and TPC-DS benchmark data generators.
Democratize the comparison of analytical systems by making it easy to efficiently generate benchmark data in modern formats such as Apache Parquet, Apache Arrow, and CSV.
tpcgen-cli is distributed as a Python package. Run it with uvx:
uvx tpcgen-cli tpch parquet -s 1 --output-dir /tmp/tpch
uvx tpcgen-cli tpcds parquet -s 1 --output-dir /tmp/tpcds
Or install it with pip:
python -m pip install tpcgen-cli
tpcgen-cli tpch parquet -s 1 --output-dir /tmp/tpch
See the tpcgen-cli README for more examples.

Time to generate TPC-H Scale Factor 100 data in Parquet format. See the performance spreadsheet for details and more comparisons.
| Project | Description |
|---|---|
tpcgen-cli | Command line tool to generate TPC-H and TPC-DS data in multiple formats |
tpchgen-cli | Command line tool to generate only TPC-H data in multiple formats (kept for backwards compatibility) |
tpchgen | Rust library to generate TPC-H data (zero dependencies) |
tpchgen-arrow | Rust library to generate TPC-H data in Apache Arrow format |
tpcdsgen | Rust library to generate TPC-DS data (zero dependencies) |
tpcdsgen-arrow | Rust library to generate TPC-DS data in Apache Arrow format |
We go to great lengths to ensure our data generators produce the same exact bytes as the reference implementations, both for single and multi-part output. Our multi-level strategy for ensuring correctness is detailed in TESTING.md and includes comparing the output of our generators to the original reference implementations as part of CI.
Pull requests are welcome. For major changes, please open an issue first for discussion. See our contributors guide for more details.
Please see architecture guide for details on how the code is structured.
The project is licensed under the Apache License 2.0.
208 followers · starred Jul 2026
1,095 followers · starred Apr 2025
272 followers · starred Sep 2025
688 followers · starred Apr 2025
[!NOTE] Made with ❤️ by @clflushopt, @alamb and @kevinjqliu
Originally
clflushopt/tpchgen-rs, the project is now maintained atdatafusion-contrib/tpcgen-rs
Modern, blazing fast and easy to use TPC-H and TPC-DS benchmark data generators.
Democratize the comparison of analytical systems by making it easy to efficiently generate benchmark data in modern formats such as Apache Parquet, Apache Arrow, and CSV.
tpcgen-cli is distributed as a Python package. Run it with uvx:
uvx tpcgen-cli tpch parquet -s 1 --output-dir /tmp/tpch
uvx tpcgen-cli tpcds parquet -s 1 --output-dir /tmp/tpcds
Or install it with pip:
python -m pip install tpcgen-cli
tpcgen-cli tpch parquet -s 1 --output-dir /tmp/tpch
See the tpcgen-cli README for more examples.

Time to generate TPC-H Scale Factor 100 data in Parquet format. See the performance spreadsheet for details and more comparisons.
| Project | Description |
|---|---|
tpcgen-cli | Command line tool to generate TPC-H and TPC-DS data in multiple formats |
tpchgen-cli | Command line tool to generate only TPC-H data in multiple formats (kept for backwards compatibility) |
tpchgen | Rust library to generate TPC-H data (zero dependencies) |
tpchgen-arrow | Rust library to generate TPC-H data in Apache Arrow format |
tpcdsgen | Rust library to generate TPC-DS data (zero dependencies) |
tpcdsgen-arrow | Rust library to generate TPC-DS data in Apache Arrow format |
We go to great lengths to ensure our data generators produce the same exact bytes as the reference implementations, both for single and multi-part output. Our multi-level strategy for ensuring correctness is detailed in TESTING.md and includes comparing the output of our generators to the original reference implementations as part of CI.
Pull requests are welcome. For major changes, please open an issue first for discussion. See our contributors guide for more details.
Please see architecture guide for details on how the code is structured.
The project is licensed under the Apache License 2.0.
208 followers · starred Jul 2026
1,095 followers · starred Apr 2025
272 followers · starred Sep 2025
688 followers · starred Apr 2025