8 releases (5 stable)

1.0.4 Aug 30, 2022
1.0.2 Nov 20, 2019
0.10.4 Mar 19, 2017

#585 in Text processing

Apache-2.0

88KB
2.5K SLoC

Rust 2.5K SLoC // 0.0% comments Shell 273 SLoC // 0.1% comments PowerShell 16 SLoC // 0.1% comments

rq Build Status Build status Crates.io Language (Rust)

NOTE: rq is in very low maintenance mode as my day job is taking up a lot of my time. I will try my best to merge pull requests but will not drive active development of this crate.

NOTE: rq no longer ships with query support and a Javascript engine is not included; instead, it focuses exclusively on format transformation. You can still pipe into a runtime like node.js if you need Javascript evaluation. Please see this issue to discuss introducing a new query language.

This is the home of the tool called rq (record query). It's a tool that's used for performing queries on streams of records in various formats.

The goal is to make ad-hoc exploration of data sets easy without having to use more heavy-weight tools like SQL/MapReduce/custom programs. rq fills a similar niche as tools like awk or sed, but works with structured (record) data instead of text.

It was created with love out of the best parts of Rust, and is distributed as a dependency-free binary on many operating systems and architectures.

Format support status

Format Read Write
Apache Avro ✔️ ✔️
CBOR ✔️ ✔️
JSON ✔️ ✔️
MessagePack ✔️ ✔️
Google Protocol Buffers ✔️ ✖️
YAML ✔️ ✔️
TOML ✔️ ✔️
Raw (plain text) ✔️ ✔️
CSV ✔️ ✔️

Dependencies

~15–24MB
~358K SLoC