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
jqor Arrow into a file. - Python — notebooks and pipelines;
query_arrow()returns apyarrow.Tablethat 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.