Need help with oq?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Blacksmoke16
129 Stars 10 Forks MIT License 46 Commits 6 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

oq

Built with Crystal CI 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 input/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 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 --release

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
.

Docker

oq
can easily be included into a Docker image by fetching the static binary from Github for the version of
oq
that you want.
# Set an arg to store the oq version that should be installed.
ARG OQ_VERSION=1.1.2

Grab the binary from the latest Github release and make it executable; placing it within /usr/local/bin. Can also put it elsewhere if you so desire.

RUN wget https://github.com/Blacksmoke16/oq/releases/download/v${OQ_VERSION}/oq-v${OQ_VERSION}-linux-x86_64 -O /usr/local/bin/oq && chmod +x /usr/local/bin/oq

Or using curl (needs to follow Github's redirect):

RUN curl -L -o /usr/local/bin/oq https://github.com/Blacksmoke16/oq/releases/download/v${OQ_VERSION}/oq-v${OQ_VERSION}-linux-x86_64 && chmod +x /usr/local/bin/oq

Also be sure to install jq if it is not already!

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.

Examples

Consume JSON and output XML

$ echo '{"name": "Jim"}' | oq -o xml .


  Jim

Consume YAML from a file and output XML

data.yaml

---
name: Jim
numbers:
  - 1
  - 2
  - 3
$ oq -i yaml -o xml . data.yaml 


  Jim
  1
  2
  3

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.