Skip to main content

tpcgen-cli

tpcgen-cli is a high-performance, parallel command line interface for generating TPC-H and TPC-DS data.

It generates data in multiple formats including Apache Parquet, CSV, and pipe-delimited (tbl for TPC-H, dat for TPC-DS).

This tool is more than 10x faster than the next fastest TPC-DS generator we know of (duckdb), 4x-27x faster than the official C dsdgen, and 12x-69x faster than the Java port used by Trino. On an 8 core AWS instance it generates data at over 1 GB/s, faster than a single EBS volume can write. See BENCHMARKS.md for more details on performance and benchmarking.

Try with uvx

uvx tpcgen-cli tpch parquet -s 1 --output-dir /tmp/tpch

Running tpcgen-cli TPC-DS Running tpcgen-cli TPC-H

Install with pip

python -m pip install tpcgen-cli

Examples

# TPC-H Scale Factor 1, all tables, in `tbl` (pipe-delimited) format in the `/tmp/tpch` directory
# Note: `tpcgen-cli tpch tbl` also works explicitly
tpcgen-cli tpch -s 1 --output-dir /tmp/tpch

# TPC-H Scale Factor 1, all tables, in CSV format
tpcgen-cli tpch csv -s 1 --output-dir /tmp/tpch

# TPC-DS Scale Factor 10, all tables, in Apache Parquet format,
# 10 part(itions) written to `/tmp/tpcds/<table_name>/<table_name>.<part>.parquet`
tpcgen-cli tpcds parquet -s 10 --parts 10 --output-dir /tmp/tpcds

# TPC-DS Scale Factor 100, store_sales table, in Apache Parquet format,
# 10 part(itions) written to `/tmp/tpcds/store_sales/store_sales.<part>.parquet`
tpcgen-cli tpcds parquet -s 100 --tables store_sales --parts 10 --output-dir /tmp/tpcds

# TPC-H Scale Factor 1, Per-column encodings 
# (overrides Parquet writer defaults for named columns)
tpcgen-cli tpch parquet -s 1 --tables lineitem --column-encoding=l_comment=DELTA_LENGTH_BYTE_ARRAY --output-dir /tmp/tpch

# TPC-DS Scale Factor 1, all tables, in CSV format in the `/tmp/tpcds` directory
# Note: `tpcgen-cli tpcds` with no format writes `dat` (pipe-delimited) files
tpcgen-cli tpcds csv -s 1 --output-dir /tmp/tpcds

Performance

TPC-DS Parquet generation time

Times to create TPC-DS tables in Parquet format using tpcgen-cli and duckdb for various scale factors on an 8 core AWS c8gn.2xlarge. See BENCHMARKS.md for details.

Scale Factor tpcgen-cli DuckDB DuckDB (proprietary)
1 0:01.77 0:18.04 0:17.27
10 0:12.00 2:33.04 2:26.48
100 1:42.13 N/A (OOM) 19:42.43
300 4:57.89 N/A (OOM) 56:19.89
  • DuckDB (proprietary) is the time required to create TPC-DS data in the proprietary DuckDB format (CALL dsdgen()). DuckDB is that time plus EXPORT DATABASE (FORMAT parquet).
  • At Scale Factors 100 and 300 the DuckDB export to Parquet failed on this 16 GB machine, so only the proprietary format time is reported.

Metadata

Release files for tpcgen-cli 4.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tpcgen-cli 4.0.0
File Size Uploaded Provenance
tpcgen_cli-4.0.0.tar.gz 602.2 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for tpcgen-cli 4.0.0
File
tpcgen_cli-4.0.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
tpcgen_cli-4.0.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
tpcgen_cli-4.0.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
tpcgen_cli-4.0.0-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
tpcgen_cli-4.0.0-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
tpcgen_cli-4.0.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
tpcgen_cli-4.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
tpcgen_cli-4.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
tpcgen_cli-4.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
tpcgen_cli-4.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
tpcgen_cli-4.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
tpcgen_cli-4.0.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
tpcgen_cli-4.0.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 77.4 MB

Release files / tpcgen_cli-4.0.0.tar.gz

Download URL tpcgen_cli-4.0.0.tar.gz
Size 602.2 kB
Tags Source
SHA-256 checksum
How to use checksums
02eab9277b0c4826155ad20e9b42e25c00e1c9746763743fb4ebd8127d2232aa
BLAKE2b-256 checksum
How to use checksums
931208345fe77dd9c7107a0adf8f2305fc8ca4c09ebb091529150cf5d021d885
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-win_amd64.whl

Download URL tpcgen_cli-4.0.0-py3-none-win_amd64.whl
Size 6.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
469d0a5a6797fa6e98d51a12ef7d16afa7b6f9622d3eb4805acc585725fcd25b
BLAKE2b-256 checksum
How to use checksums
bf3bfc7e24c40db25a36d93b8b4748631207fc32a792c650d37a73762d31c193
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-win32.whl

Download URL tpcgen_cli-4.0.0-py3-none-win32.whl
Size 6.2 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
52a734be9e4fc4cb3d5fbe7653427dd7968add2e6ee92f8a22295367880061d7
BLAKE2b-256 checksum
How to use checksums
d225246c419bc1ebd4027548d8260d6c324112f3f43a2be21858242ae02cf42a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-musllinux_1_2_x86_64.whl

Download URL tpcgen_cli-4.0.0-py3-none-musllinux_1_2_x86_64.whl
Size 5.8 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
f19b43b4435ef084128669589a15d2f86098298c529d352ccf26e701816f7073
BLAKE2b-256 checksum
How to use checksums
92874f57e02e702227e48c060577a5bca86f0606294db206ddc855c0eef62f62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-musllinux_1_2_i686.whl

Download URL tpcgen_cli-4.0.0-py3-none-musllinux_1_2_i686.whl
Size 5.8 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
764f4b68b51b99a451f162ad5d2827936bb13afb12875ef3a5f1a2a0697be89f
BLAKE2b-256 checksum
How to use checksums
eb73566e1ebbff0935a371b0d39b49c82e09dcc97177949705754b1802d6ddb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-musllinux_1_2_armv7l.whl

Download URL tpcgen_cli-4.0.0-py3-none-musllinux_1_2_armv7l.whl
Size 6.2 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
447142b034ee18269b03f84fafd8d501ec3680533048607d833647f9196bc65e
BLAKE2b-256 checksum
How to use checksums
1b8cb2812b34b5f09d286623041649b71cca4f95b65828a715c4653ed1fe5ab9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-musllinux_1_2_aarch64.whl

Download URL tpcgen_cli-4.0.0-py3-none-musllinux_1_2_aarch64.whl
Size 5.6 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
61ab9e058603e2dd16b449b2f6de6515b03d1634539b913f8f27f4165422b017
BLAKE2b-256 checksum
How to use checksums
57e318d5e3e0fa29f150bc9459786977a5093ef67b99dc330b03252912926c2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tpcgen_cli-4.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 5.7 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
490d693dad29ddc4ad6a41f96932a7ddd7b13b04546a54f8dd9c0468648aa17e
BLAKE2b-256 checksum
How to use checksums
329a6ad50479c83e177ae31fb9b78e841aea56ff59bc7e97ba6fc4f0a4e76c1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL tpcgen_cli-4.0.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 6.0 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
276b70011b7a4bf223f337598e2b4435bd8eb7a6f5bc4ca798eba2b288574117
BLAKE2b-256 checksum
How to use checksums
c4edea699bc0a57790ebe8ce49ed1c917c536b734d50e3352569758eaba5b04c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL tpcgen_cli-4.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 5.9 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
4f2f7eaf2899a86cfcc0250a02ad5044b8fc05757ec14af95be991821221a0c0
BLAKE2b-256 checksum
How to use checksums
25094d881a9368cb4908c99f748d1707a34f4235e9c665daaee59353d7746976
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL tpcgen_cli-4.0.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 6.2 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
787bd07b5c4433382b57ffa3610d2da3a58849f8bcc3614ac0f43e265dd73d0c
BLAKE2b-256 checksum
How to use checksums
6dfbd99b72e4537da7213ff2125176b7dba6c625b124ab45115e0b3e20708549
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL tpcgen_cli-4.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 5.6 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
2fb311272eb71f99156870d2177164823a4a39730982be9bc2448af8da84c96e
BLAKE2b-256 checksum
How to use checksums
8059b3518ce4eae1d5bd015508e7488d01c24b031cb4f9371427aa9151193896
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-macosx_11_0_arm64.whl

Download URL tpcgen_cli-4.0.0-py3-none-macosx_11_0_arm64.whl
Size 5.2 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2913936c31b6a28dd171af2e394f73b2c563f75f41154615813ed9b2d3988bf2
BLAKE2b-256 checksum
How to use checksums
0068499518dc6c532bdbb8847a793252c84a352b623bd3f16253664cc24e8413
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / tpcgen_cli-4.0.0-py3-none-macosx_10_12_x86_64.whl

Download URL tpcgen_cli-4.0.0-py3-none-macosx_10_12_x86_64.whl
Size 5.6 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e011f8a1ecdaf560901fe2d8a795ca00f9e7d3e7d0187247604e59c1e63e240a
BLAKE2b-256 checksum
How to use checksums
220ec59dc9ff91abef24bca40b31757c989690ce4b1af0f536be6f07d0d66291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Security for tpcgen-cli 4.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

4.0.0 This release

14 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page