gojq | jq | |
---|---|---|
3 | 58 | |
3 | 29,201 | |
- | 1.4% | |
8.4 | 9.3 | |
about 1 month ago | 8 days ago | |
Go | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gojq
-
To a Man with `Jq`, Everything Looks Like JSON
Yeap i've talked to itchyny quite a lot about various changes https://github.com/itchyny/gojq/issues/153 and also upstreamed quite a lot https://github.com/itchyny/gojq/issues?q=author%3Awader like custom iterators (to allow eval, own iterators and "empty" functions), query marshalling (query rewrite tricks) and a bunch of small things and bug fixes. But the largest change to add a JQValue interface is quite complex, other changes like extended literals is also a bit tricky.
Hmm weird list of changes for https://github.com/wader/gojq/compare/fq...itchyny:gojq:main but i guess it is because i haven't kept my main branch in sync. The fq branch should be based on latest gojq/main as of now. I usually try to rebase as quick as possible.
Let me know if you have any other questions or want to help out! maybe email etc as i usually don't check HN comments replies that often :)
-
Fq: Jq for Binary Formats
For query language i didn't prototype much, i know i really wanted jq as i had already used it extensively and know it was very powerful and had a terse syntax when working with structured data. I had some ideas of maybe using the C-version of jq via bindings or somehow let fq be tool that you used like this 'fq file | jq ... | fq' but it just felt strange and not very user friendly. Then i found gojq and i just felt that i have to make it work somehow, even if it would require lots of hard work and change to it (see https://github.com/wader/gojq/commits/fq, the JQValue change it probably to most interesting and support or custom iterators/functions that has been merged). And it turned out much better than i would expected, large parts becuse gojq's code is very nice and author has been very helpful.
jq
-
Data Science at the Command Line, 2nd Edition (2021)
Thanks, if anyone else is interested there is an explanation of this feature here: https://subtxt.in/library-data/2016/03/28/json_stream_jq And: https://github.com/jqlang/jq/wiki/FAQ#streaming-json-parser
The last time I tried, I think the reason I gave up on JQ for large inputs was that the throughput would max out at 7mb/s whereas the same thing with spark SQL on the same hardware (MacBook) would max out at 250mb/s. So I started looking into using other solutions for big data while I use jq in parallel for small data in multiple files.
I will test it out again cause this was 4-5 years ago when I last tested it, but I believe jaq is still preferred for large inputs. Still I prefer for big data to use Spark/Polars/clickhouse etc.
-
Bytecode VMs in Surprising Places
Looks like you are correct https://github.com/jqlang/jq/blob/ed8f7154f4e3e0a8b01e6778de...
- Frawk: An efficient Awk-like programming language. (2021)
- Dehydrated: Letsencrypt/acme client implemented as a shell-script
-
I turned my open-source project into a full-time business
I think like you. But also, one does not necessarily know beforehand that they will want to make money.
Like a project could be born out of pure generosity, but after the happy initial phase the project might get too heavy on the maintenance requirements, causing the author to approach burnout, and possibly deciding that they want to make money to continue pulling the cart forward.
However, here's something I do think: if you create something as Open Source, it should be out of a mentality of goodwill and for the greater good, regardless of how it ends up being used. OSS licenses do mean this with their terms. If you later get tired or burned out, you should just retire and allow the community to keep taking care of it. Just like it happened with the Jq tool [1].
[1]: https://github.com/jqlang/jq/releases/tag/jq-1.7
-
How to load JSON data in PostgreSQL with the the COPY command
In this blog we'll see how to upload the JSON directly using PostgreSQL COPY command and using an utility called jq!
-
How to Recover Locally Deleted Files From Github
And we can then make it easier to find the commit by filtering the response with jq.
-
Essential Command Line Tools for Developers
Official Documentation: jqlang.github.io/jq
-
Command line tools I always install on Ubuntu servers
To handle JSON files and JSON outputs in a script or format and highlight it, jq can be very handy. Many command line tools provide a json output, so you don't have to write a custom parser for a table a list in a terminal. Instead of that, you can use jq to get a specific value from the output or even modify the output. For more information, you can visit https://jqlang.github.io/jq/
-
How I use Nix in my Elm projects
In some projects I've wanted to use HTTPie to test APIs and jq to work with some JSON data. Nix has been really helpful in managing those dependencies that I can't easily get from npm.
What are some alternatives?
fq - jq for binary formats - tool, language and decoders for working with binary and text formats
yq - Command-line YAML, XML, TOML processor - jq wrapper for YAML/XML/TOML documents
rasn - A Safe #[no_std] ASN.1 Codec Framework
jp - Validate and transform JSON with Bash
gojq - Pure Go implementation of jq
Jolt - JSON to JSON transformation library written in Java.
dasel - Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.
jmespath.py - JMESPath is a query language for JSON.
json5 - JSON5 — JSON for Humans
jmespath-ts - Typescript translation of the jmespath.js package
jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.