Git Product home page Git Product logo

rq's Introduction

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.

Quick links

Format support status

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

rq's People

Contributors

alerque avatar chocolateboy avatar chuwy avatar deeunderscore avatar dependabot[bot] avatar dflemstr avatar jauderho avatar jcaesar avatar jedisct1 avatar mikaelstaldal avatar sevagh avatar sinkuu avatar vi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rq's Issues

findLastIndex: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of findLastIndex should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

every: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of every should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

intersection intersectionBy intersectionWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of intersection intersectionBy intersectionWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

zip zipWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of zip zipWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

sortedIndexOf: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of sortedIndexOf should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

slice: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of slice should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

head: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of head should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

indexOf: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of indexOf should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

sortedLastIndexOf: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of sortedLastIndexOf should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

lastIndexOf: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of lastIndexOf should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

findIndex: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of findIndex should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

compact: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of compact should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

takeRight takeRightWhile: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of takeRight takeRightWhile should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

concat: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of concat should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

dropRight dropRightWhile: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of dropRight dropRightWhile should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

uniq uniqBy uniqWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of uniq uniqBy uniqWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

sortedLastIndex sortedLastIndexBy: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of sortedLastIndex sortedLastIndexBy should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

last: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of last should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

initial: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of initial should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

reverse: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of reverse should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

flatten: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of flatten should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

difference differenceBy differenceWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of difference differenceBy differenceWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

union unionBy unionWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of union unionBy unionWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

sortedUniq sortedUniqBy: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of sortedUniq sortedUniqBy should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

fromPairs: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of fromPairs should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

drop dropWhile: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of drop dropWhile should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

xor xorBy xorWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of xor xorBy xorWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

sortedIndex sortedIndexBy: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of sortedIndex sortedIndexBy should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

nth: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of nth should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

tail: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of tail should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

flattenDeep flattenDepth: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of flattenDeep flattenDepth should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

fill: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of fill should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

join: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of join should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

countBy: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of countBy should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

chunk: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of chunk should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

unzipWith: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of unzipWith should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

without: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of without should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

take takeWhile: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of take takeWhile should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

unzip: implement without directly delegating to lodash

For the sake of iteration speed, a lot of rq functionality was implemented by directly delegating to lodash. This is not optimal because the use of this.collect() and/or this.spread() means that intermediary arrays are allocated unnecessarily. The code of unzip should be changed to abuse the streaming nature of rq processes while still passing the current doctests. For debugging, tee can be used to check the streaming behavior of the process.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.