Skip to content
A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using jq filters to transform the data.
Crystal
Branch: master
Clone or download
Latest commit 45f09d5 Aug 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
snap Migrate json.kind to use enums (#30) Aug 11, 2019
spec Set correct exit code on jq failure (#26) Aug 8, 2019
src Migrate json.kind to use enums (#30) Aug 11, 2019
.editorconfig Initial release (#1) Jun 29, 2019
.gitignore Refactors to optimize IO (#6) Jul 13, 2019
.travis.yml Initial release (#1) Jun 29, 2019
LICENSE Initial release (#1) Jun 29, 2019
README.md Update mac install instructions (#28) Aug 10, 2019
shard.yml

README.md

oq

Built with Crystal Build Status Latest release oq

A performant, portable jq wrapper thats facilitates the consumption and output of formats other than JSON; using jq filters to transform the data.

  • Compiles to a single binary for easy portability.
  • Performant, similar performance with JSON data compared to jq. Slightly longer execution time when going to/from a non-JSON format.
  • Supports XML and YAML as additional output formats.

Installation

Linux via snap

For more on installing & using snap with your Linux distribution, see the official documentation.

snap install oq

MacOS

brew tap blacksmoke16/tap
brew install oq

From Source

If building from source, jq will need to be installed separately. Installation instructions can be found in the official documentation.

Requires Crystal to be installed, see the installation documentation.

git clone https://github.com/Blacksmoke16/oq.git
cd oq/
shards build --production

The built binary will be available as ./bin/oq. This can be relocated elsewhere on your machine; be sure it is in your PATH to access it as oq.

Usage

CLI

Use the oq binary, with a few optional custom arguments, see oq --help. All other arguments get passed to jq. See jq manual for details.

Roadmap

Plans for 1.0.0:

  • XML input format
  • Address bugs/issues that arise
  • Small feature requests
  • Possibly additional formats

Contributing

  1. Fork it (https://github.com/Blacksmoke16/oq/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

You can’t perform that action at this time.