Install¶
Install script (Linux / macOS)¶
The fastest way to get the standalone datapress CLI without a Rust
toolchain. It downloads the prebuilt binary (both backends bundled) for your
platform, verifies its checksum, and installs it into ~/.local/bin — no
sudo, and your shell profile is never edited:
If ~/.local/bin is not already on your PATH, the script prints the exact
line to add. Override the target directory or version with:
# Install a specific version into a custom directory.
DATAPRESS_INSTALL_DIR="$HOME/bin" DATAPRESS_VERSION=0.4.4 \
sh -c "$(curl -LsSf https://datap-rs.org/install.sh)"
Install script (Windows)¶
This installs into %LOCALAPPDATA%\datapress\bin and adds it to your user
PATH. Open a new terminal afterwards.
Homebrew (macOS / Linux)¶
Apple Silicon macOS and Linux (x86_64 / aarch64) are covered by prebuilt bottles. On Intel Macs, use the crates.io install below.
winget (Windows)¶
Docker¶
The image installs the prebuilt Linux binary onto a minimal distroless/cc
base and is multi-arch (linux/amd64 + linux/arm64). Mount a datasets.toml
at /etc/datapress/datasets.toml — it must set listen = "0.0.0.0" for the
published port to be reachable:
docker run --rm -p 8080:8080 \
-v "$PWD/datasets.toml:/etc/datapress/datasets.toml:ro" \
jeroenflvr/datapress:latest
Tags: :<version>, :<major.minor>, and :latest.
Prebuilt binary (crates.io)¶
The quickest way to get a server without cloning the repo. The unified
datapress binary bundles both the DuckDB and DataFusion backends and
selects one at runtime from server.backend in your datasets.toml:
For a slimmer single-backend build, or to opt into the docs / Swagger / metrics / auth features:
cargo install datapress --no-default-features --features duckdb
cargo install datapress --features swagger,auth,metrics
Configuration discovery¶
The installed datapress binary finds its config in this order (first
match wins):
--config <FILE>$DATAPRESS_CONFIG_FILE./datasets.toml$HOME/datasets.toml
Generate a commented starter template with datapress init (writes to
$HOME when no directory is given):
datapress init # ~/datasets.toml.template
datapress init ./config # ./config/datasets.toml.template
cp ~/datasets.toml.template ~/datasets.toml # then edit and run `datapress`
From source (Rust binaries)¶
Two binaries live in the workspace, one per backend. Both build from a checkout of the repo:
git clone https://github.com/jeroenflvr/datapress.git
cd datapress
cargo build --release -p datapress-duckdb
cargo build --release -p datapress-datafusion
The release binaries land in target/release/datapress-{duckdb,datafusion}.
If you have task installed:
Python wheel¶
The Python wheel datap-rs bundles both engines and lets you pick
one at runtime via DataPressConfig(backend=...).
Wheels are published for Linux (x86_64/aarch64), macOS (arm64), and Windows (x86_64) against CPython 3.9+ (abi3).
Building the wheel from source:
task py:develop # editable install into ./.venv (uses uv + maturin)
task py:build # release wheel into ./target/wheels/
Optional features¶
| Feature | Crate | Purpose |
|---|---|---|
docs |
datapress-core |
Embed this documentation site into the binary. Disabled by default. |
Enable at build time:
The same features are also forwarded by the unified datapress crate, so
they work with cargo install datapress --features docs too.
See Configuration › Documentation site for the runtime switch.