Skip to content

Clients

Besides the embedded datap-rs wheel (which can both run a server and talk to it), DataPress ships standalone clients that only talk to an already-running server over HTTP. They share one lightweight Rust core (datapress-client) and are independent of the server crates — no DuckDB or DataFusion is pulled in.

Client Package Install
Command line datapress-cli install script, cargo install
Python datap-rs-client uv pip install datap-rs-client[arrow]
Rust library datapress-client cargo add datapress-client

All three speak the same HTTP API: list datasets, fetch schemas, run structured queries (JSON or Arrow IPC), count rows, run raw SQL, and reload datasets.

Which one?

  • CLI — shell scripts, ad-hoc inspection, piping JSON into jq or Arrow into a file.
  • Python — notebooks and pipelines; query_arrow() returns a pyarrow.Table that feeds Polars, pandas, DuckDB, PySpark, and DataFusion zero-copy.
  • Rust — embed the client in your own service or tool; async by default with an optional blocking wrapper.