Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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).

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.0rc1

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.0rc1
File Size Uploaded Provenance
tpcgen_cli-4.0.0rc1.tar.gz 625.5 kB Without provenance Details

Built distributions (wheels)

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

Total release size: 77.3 MB

Release files / tpcgen_cli-4.0.0rc1.tar.gz

Download URL tpcgen_cli-4.0.0rc1.tar.gz
Size 625.5 kB
Tags Source
SHA-256 checksum
How to use checksums
883477f1369e31bc88d48bbf9e17f0f3c751b7c571c79df44705ce64055e2ad8
BLAKE2b-256 checksum
How to use checksums
92955d60ed365d02a2f394505798ac463ab057ab86c17989ec65e758d0e3528c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL tpcgen_cli-4.0.0rc1-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
3266966efcd9dd65072ecc176e81d0a57ab83735bcd56e0f13cb5f329cbafa4c
BLAKE2b-256 checksum
How to use checksums
9a5ac1da2951733b9121a1e01bb0c45cc545f35f22ffc0a7fe68000d37f1b2e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
a6c495db5da7d90f8ed7c439d661d1eceacc8665d4c20d304e92988817aa7fb8
BLAKE2b-256 checksum
How to use checksums
ba8fd9faf59b077992c27fedc782cbb53a6344da2f73ffd18dcc4971f4ba4a93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
dc98b6fbec88c631b9445f171105641b7855dcd6119a8ddf1382ba101fd4860e
BLAKE2b-256 checksum
How to use checksums
8740151942f0f9fa44976fe6f079b74d8998eba7924d7a4ec36988b8527c09b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
f6e675f79d9f95613290674fc83b7f814aee653af48f2a08f5f0a7540e451abe
BLAKE2b-256 checksum
How to use checksums
42bf12bd1e70bc11d3b997252f4f4318a45f5e2f815321101b1bbfb8cfd630c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
86b4de2b73344d0487b248ab3109f3946461a504fe69d87c0398c5b31937bef4
BLAKE2b-256 checksum
How to use checksums
618a5548816d880f9b70d2160186420ba8db7942030dc94c0c8c0ebb2b943de7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
8657937a7d4d2dc8589f65af340f7c78c326518319982bac41bc035328b2451c
BLAKE2b-256 checksum
How to use checksums
a390d0f123e4de2593309b8ac5bc7a544d806cc22cfa9b7709067b2d6e46d28f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
9e74c2105636a87b4d2c8566bd2ad426a30ef4aeb8b40bf69fc6906ad01b136e
BLAKE2b-256 checksum
How to use checksums
eaf62385be2a882dac5ee2ea0b04a73b3c1b0d855aaa7d32e55750cf71dbac81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
85dee5f60c057b89c1a43d265c7c2fc11a05ffaba5bf7c1886807d7e5a59eb2e
BLAKE2b-256 checksum
How to use checksums
b0cb937fdf2df2febc6079ba6bcb7ee7f381f8f6c1e8a494f606ff06779f14b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
940a9b0279eaa645c092f0927df42266eaaa2248a126ea206ff851b9e38291d2
BLAKE2b-256 checksum
How to use checksums
6df6e425a013522ce8c0dbe799a63f0960fb09b547fc217f6e398555eaf8f6dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
dd9dab32e3e8e9c5b5b49d6ecb60537e6ee8ab54b35becf9230d056dc9ce00be
BLAKE2b-256 checksum
How to use checksums
92e63cc0bb660c5dc5f3d01ce52d6cfe1a650416fb717443437e3df140234d8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL tpcgen_cli-4.0.0rc1-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
9349bbf8d5877d03b36e3858bb6f68299f350d37cbef16dd2b0c0370f70d1d4d
BLAKE2b-256 checksum
How to use checksums
7a9d4f9054f06686965b6a0f27304e5240cc58056c1067922434a5465ba70a8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Security for tpcgen-cli 4.0.0rc1

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
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