quarb
Python bindings for the Quarb query engine — import quarb, plus qua, its command-line face. Quarb reads
structured text as an arbor — a tree-spanned graph — and runs
one query language over all of it, generalizing what XPath does
for XML and jq does for JSON to JSON, YAML, TOML, CSV/TSV, XML,
HTML, and Markdown alike. Try it live in the
playground.
Install
pip install quarb
This installs the quarb Python module and the qua command
(the language is Quarb; qua is its CLI).
Wheels are published for Linux (x86_64, aarch64), macOS (arm64,
x86_64), and Windows (x86_64). The extension is built against
PyO3's stable ABI (abi3-py38); a single wheel covers CPython
3.8 and later.
The qua command
The entry point covers what the bindings cover — one query over a text document:
qua '/books/*[/price:: > 20]/title::' store.json
echo '{"users":[{"name":"ada"}]}' | qua -f json '/users/*/name::'
Beyond text, quarb.open(path) dispatches on kind over the full
local fleet — SQLite, kaiv (typed units), the filesystem
(descend=True grafts parseable leaves), git (git:PATH),
archives, XLSX, and source code — and quarb.mount([a, b, ...])
mounts several sources under one root so a single query joins
across them (a YAML file <=> a SQLite database). The networked
adapters — Postgres, MySQL, BigQuery, Neo4j, object stores,
mail — and DuckDB live in the Rust binary: cargo install qua.
Quick start
import quarb
doc = quarb.loads("""{
"books": [
{"title": "The Odyssey", "price": 25},
{"title": "The Iliad", "price": 18}
]
}""", "json")
doc.values('/books/*[/price:: > 20]/title::')
# ['The Odyssey']
doc.value('/books/*/price:: @| mean')
# 21.5
doc.records('/books/* | %(t = /title::; p = /price::)')
# [{'t': 'The Odyssey', 'p': 25}, {'t': 'The Iliad', 'p': 18}]
loads(text, format) / load(path) parse once into a
Document, queried many times. Results come back typed:
ints, floats, strings, None for null, tz-aware datetime for
instants, timedelta for durations, Quantity for unit-carrying
values, dicts for records. Formats: json, yaml, toml,
csv, tsv, xml, html, markdown.
The lower-level quarb.run(query, text, format) and
quarb.run_file(query, path) return the result lines as
strings — exactly what the qua CLI prints. All errors raise
ValueError with the engine's message.
For the query language itself — steps, criteria, readings, patterns, joins — see the user guide and spec.
License
Licensed under either of Apache License, Version 2.0 or the MIT license at your option. Both texts are bundled in the package.
Jupyter
%load_ext quarb.ipython
%quarb_mount fleet.daiv
%quarb /@hosts/*[::power > 0.2kW]::name
%%quarb [NAME] runs a cell-sized query against a named mount;
results render as HTML tables, iterate as typed values
(quantities keep magnitude + unit), and convert with .df /
.df_magnitudes().
For a notebook where every cell is a query, install the dedicated kernel and pick Quarb in the launcher:
python -m quarb.kernel install
python -m quarb.kernel demo # writes quarb-demo.ipynb to try
Cells are queries; %mount, %connect, %use, %docs,
%translate, and %python (an escape hatch — the rest of the
cell is Python, with the live session and the last result _
in scope) are the directives. Tab-completion offers the mounted arbor's real child names,
and the bundled JupyterLab extension highlights Quarb syntax
in cells automatically. %connect NAME PATH... (magic:
%quarb_connect) attaches to a qua --resident daemon — for
arbors too large to rebuild per notebook, queried from a
standing session. pip install quarb[jupyter] pulls IPython,
pandas, and the kernel runtime.
Metadata
Release files for quarb 0.31.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quarb-0.31.0.tar.gz | 1.1 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| quarb-0.31.0-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| quarb-0.31.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| quarb-0.31.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| quarb-0.31.0-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
| quarb-0.31.0-cp38-abi3-macosx_10_12_x86_64.whl | CPython 3.8 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 56.5 MB
Release files / quarb-0.31.0.tar.gz
| Download URL | quarb-0.31.0.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5073ece7162e285698087952e80c0d222edcd1f22600927a6cf2462ed8c46829
|
|
BLAKE2b-256 checksum How to use checksums |
41974344312170b6430230b0fe6edf8c3ba1898e3a2ab9e5096241053d973816
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / quarb-0.31.0-cp38-abi3-win_amd64.whl
| Download URL | quarb-0.31.0-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 11.4 MB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a50d63baa6bca84e275b3628e5203276f5c5298a10b90d948a6ca5b2b9fc9d91
|
|
BLAKE2b-256 checksum How to use checksums |
e2e633763db3fcdf7fcd139fe419a99f201f68c6e0b8952612f261a3c548b065
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / quarb-0.31.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | quarb-0.31.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 11.6 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b4005fdca90d235a06331af2ef448fe29ee4f8d27e6e4f9768d3012141297987
|
|
BLAKE2b-256 checksum How to use checksums |
f41b699e0dfd206ceba05bea673b6183101403c2a981a1c9a1210b87c689f302
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / quarb-0.31.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | quarb-0.31.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 11.0 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
c7bf0e3421f6038578bb0eed071d11bda606dac449c31809fe558d523da2d153
|
|
BLAKE2b-256 checksum How to use checksums |
320a502861b2ee083669279812dfb98104965be74f9eb2ecb08dbc9ebd58a786
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / quarb-0.31.0-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | quarb-0.31.0-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
54ca7b90579ca898c1dfe867109a8fd8df69e8c9cb39434dcf35eeb2fca061d3
|
|
BLAKE2b-256 checksum How to use checksums |
acb0e1c9e68c03c8ed7d2f95a034800a6979ce13adbbaa12bcc10cadc82df800
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / quarb-0.31.0-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | quarb-0.31.0-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 10.9 MB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
306c4275e57d8afb2c46660a88b658cb7de553b838d3cb309ac415de6bc4cc40
|
|
BLAKE2b-256 checksum How to use checksums |
7acb7d286bb54a0e816e23cea5e777cb57078856e65f49ede769a0b2cf25360c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency log