[project]
name = "onpair-bench"
version = "0.0.0"
description = "Cross-impl OnPair compression benchmark harness."
requires-python = ">=3.10"
dependencies = [
    "pyarrow>=14",
]

[project.optional-dependencies]
# TPC-H is generated locally via the duckdb tpch extension.
tpch = ["duckdb>=1.0"]
# The OnPair-paper datasets (amazon, news, sentiment140) flow through the
# HuggingFace `datasets` library, which transitively pulls huggingface_hub.
# Pinned <4 because v4 removed script-based dataset loading, which
# McAuley-Lab/Amazon-Reviews-2023 (the two OnPair amazon datasets) still uses.
paper = ["datasets>=2.14,<4"]
# Convenience superset for `pip install -e .[full]`.
full = ["duckdb>=1.0", "datasets>=2.14,<4"]

[project.scripts]
onpair-bench = "run:main"
onpair-bench-corpus = "corpus:main"

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
py-modules = ["run", "corpus"]
