GithubHelp home page GithubHelp logo

awesome-jq's Introduction

Awesome jq Awesome ./jq

A curated list of awesome things built with the JSON processor and turing-complete functional language jq.


Implementations

Standalone implementations of the jq language.

  • jq (github) – The original jq command-line JSON processor.
  • gojq – A jq implementation in Go.
  • jaq – A jq implementation in Rust that misses some small features but is often more correct than the original.
  • query-json (q) – query-json is a faster, simpler and more portable implementation of the jq language in Reason.
  • xq – Pure rust implementation of jq
  • jq.js – Pure Javascript implementation of jq
  • jqjq – jq implementation of jq

Tools

jq-based JSON visualizers and explorers.

Command-line

  • faq – CLI program that processes BSON, Bencode, JSON, TOML, XML, YAML using libjq.
  • jiq – A visual command-line interactive JSON explorer with jq filters.
  • echo '' | fzf --print-query --preview "cat *.json | jq {q}" – An fzf hack that turns it into an interactive jq explorer.
  • jqq – A visual command-line interactive jq explorer written in Ruby.
  • yq (and xq) – jq wrapper for YAML and XML documents.
  • yiq – Like jiq, but using yq instead, so it supports YAML documents.
  • ijq – jq REPL with automatic variable assignment and global statements support.
  • jqsh – An interactive wrapper written in Go.
  • jq-zsh-plugin – zsh line editor for constructing jq queries interactively.
  • fq – jq for binary formats
  • jq-fish-plugin – Inspired by jq-zsh-plugin, interactively build jq expressions in fish shell.
  • jqp – a TUI playground for exploring jq.
  • jnv – interactive JSON filter using jq with navigation and autocompletion.
  • jqunit – A test framework for JQ, written in Rust, on top of libjq.

Web

  • query-json playground – Web playground that uses query-json compiled to JavaScript.
  • jiq-web (github) – jiq, but in a web page, uses jq-web.
  • jq play (github) – A playground for jq with sharing capabilities.
  • jq kung fu – A jq playground in WebAssembly powered by the original jq compiled with emscripten.
  • jq-finder (github) – A multipanel, Finder-like, JSON explorer with jq filters instead of paths, uses jq-web.
  • jqaas – jq as a service, an open HTTP endpoint that executes jq queries.
  • jqp – A free serverless proxy for filtering JSON and CSV data using jq.
  • jqterm (github) – Online playground - "jq as a service"

Desktop

  • jqi (github) – The almighty jq processor wrapped in a graphical UI, for Mac OSX.
  • jqview – A jq JSON explorer with a minimalist native GUI.

Extensions

  • bro/q – A Chrome Extension for JSON formatting and jq filtering.
  • virtual-json-viewer – A JSON Chrome/Firefox Extension with virtual DOM, full-text search and jq filtering.
  • atom-jq – Interactive jq playground inside the Atom editor.
  • jq-mode – A jq mode for Emacs.
  • vscode-jq – A jq extension for VS Code.
  • vscode-jq-playground – A jq playground notebook extension for VS Code.
  • vim-jqplay – Interactive jq playground inside Vim.
  • :%!jq '.' is a Vim command that formats JSON in-place with jq (beware of any other tricks you might be thinking of).
  • jq-lsp – jq language server. Works with VSCode, neovim and Emacs. Has syntax and scope checking, goto defintion, completion and hover documentation.
  • vscode-jq – VSCode jq extension that uses jq-lsp. Has syntax highlight, snippets and everything jq-lsp provides.
  • bat syntax highlighting – Syntax file to use bat to syntax highlight jq files

Documentation

Readings about jq.

Core documentation

Good small specific tutorials

Code examples

Documentation browsers

Use Cases

Apps using jq in the wild.

  • liteJQ – jq SQLite extension.
  • pgJQ – jq Postgres extension.
  • jqmd – A "literate devops" tool that allows embedding jq code, shell scripts, YAML, and JSON in a markdown document and making it executable. (A bit like R markdown or IPython notebooks, except with shell/jq/YAML/JSON, and as a CLI scripting tool rather than a GUI.)
  • sc – A lightweight SoundCloud client, with a composable api, powered by jq.
  • jc – CLI tool that converts the output of popular command-line programs and filetypes to JSON so they can be piped to jq.
  • jqt (github) – A web template engine that uses jq as expression language.
  • datasette-jq – A plugin that enables jq queries on JSON columns on datasette deployments.
  • jtool – jq-based JSON tools for a modern shell.
  • just-dashboard – A serverless app for implementing JSON-powered dashboards with JSON or YAML files (and jq filters as strings) serving as the only source of configuration.
  • bf.jq – A Brainfuck interpreter written in jq.
  • jq-voronoi – Implementation of Fortune’s algorithm to calculate Voronoi diagram on jq.

Libraries and tools for jq itself

Incrementing jq capabilities.

  • jqnpm – A jq package manager that installs modules from GitHub and runs jq scripts.
  • JBOL – A collection of utility modules for jq (math, prelude, set, string etc.).
  • bigint, array, string and other libraries – jq libraries from the author of jqnpm.
  • jq-jsonpointer – jq module implementing JSON Pointer (RFC 6901)
  • tree-sitter-jq – Tree sitter grammar implementation for Jq language

External libraries

Using jq from other languages.

  • gojq – A full jq implementation in Go, usable as a library.
  • jq-web – jq itself compiled to JavaScript with emscripten. There's also an alternative at jqdash.
  • jq-go – Golang cgo bindings for libjq (jqpipe-go is a CLI wrapper from the same people).
  • libjq-go – Golang cgo bindings for libjq. This one works with recent versions of jq: 1.5, 1.6+.
  • node-jq – A jq wrapper for Node.js.
  • ruby-jq – A jq wrapper for Ruby.
  • pyjq – A jq wrapper for Python.
  • jq.py – Another jq wrapper for Python.
  • php-ext-jq – PHP extension for jq.
  • java-jq – A jq wrapper for Java (jackson-jq is a Jackson extension).
  • jqr – R interface to jq.
  • Ansible jq – A jq filter for Ansible configuration manager.

Podcasts and presentations

Contribute

Please contribute! Open an issue or a PR and we’ll discuss it or merge it. If you’re opening a PR, please ensure all formatting is ok (if you’re in a hurry just open an issue).

License

CC0

awesome-jq's People

Contributors

aguadopd avatar annacrombie avatar bbbco avatar bfrg avatar bskaggs avatar davesnx avatar davidnussio avatar diafour avatar fadado avatar fbitti avatar fiatjaf avatar florents-tselai avatar jbrains avatar jihchi avatar jtagcat avatar kickbox avatar melvincarvalho avatar moreati avatar nntrn avatar paolosimone avatar pjeby avatar qmacro avatar reegnz avatar sad-pixel avatar sighrobot avatar timharsch avatar wader 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

awesome-jq's Issues

Add jqmd

Hi there! I'd like to propose adding bashup/jqmd. It's a "literate devops" tool that allows embedding shell, jq code, YAML, and JSON in a markdown document and making it executable. (A bit like R markdown or IPython notebooks, except for shell/jq/YAML/JSON, and as a command-line tool rather than a GUI.)

I'd have submitted a PR, but wanted to confirm first that it would be considered both a command-line tool and arguably a language wrapper. (At the same time, it seems like it's also in a third category that doesn't currently exist -- scripting tools? Or should it go into use cases?) I'm also not sure how the ordering in the list works, it doesn't appear to be alphabetical or newest-entries-first?

Anyway, looking forward to your thoughts.

implementations

  1. The "Implementations" section would be much more useful if it distinguished between complete or nearly complete implementations on the one hand, and all the others. A three-way categorization would be fine if you think a two-way scheme might be too harsh, but a two-way classification would undoubtedly involve less subjectivity. Please note that some of the "implementations" mentioned do have strong disclaimers about being incomplete or experimental, so you might want to base a classification scheme on such self-descriptions.

  2. fq (https://github.com/wader/fq) is mentioned under "Tools" but it is a substantially complete implementation of jq (it is basically an extension of gojq, which is listed under "Implementations"). It would be very helpful if fq (like gojq) were listed under Implementations, and preferably grouped together with jq and gojq as "first tier" implementations.

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.