{"id":19102676,"url":"https://github.com/nuckal777/nuq","last_synced_at":"2026-05-03T11:33:52.252Z","repository":{"id":41537947,"uuid":"508836751","full_name":"Nuckal777/nuq","owner":"Nuckal777","description":"A multi-format frontend for jq","archived":false,"fork":false,"pushed_at":"2024-12-28T11:47:25.000Z","size":84,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-28T12:23:27.936Z","etag":null,"topics":["jq","json","rust","toml","yaml"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nuckal777.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-29T20:29:09.000Z","updated_at":"2024-12-28T11:39:27.000Z","dependencies_parsed_at":"2023-12-21T15:56:45.667Z","dependency_job_id":"73344d2b-9ae9-4301-93c7-742904fc403d","html_url":"https://github.com/Nuckal777/nuq","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuckal777%2Fnuq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuckal777%2Fnuq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuckal777%2Fnuq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nuckal777%2Fnuq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nuckal777","download_url":"https://codeload.github.com/Nuckal777/nuq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240156778,"owners_count":19756834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jq","json","rust","toml","yaml"],"created_at":"2024-11-09T03:56:46.277Z","updated_at":"2026-05-03T11:33:52.180Z","avatar_url":"https://github.com/Nuckal777.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nuq\n\n![Build Status](https://img.shields.io/github/actions/workflow/status/Nuckal777/nuq/test.yaml?branch=master)\n[![Coverage Status](https://coveralls.io/repos/github/Nuckal777/nuq/badge.svg?branch=master)](https://coveralls.io/github/Nuckal777/nuq?branch=master)\n\nA multi-format frontend to jq supporting pretty-printing and syntax highlighting. Whether you need to process JSON, YAML or TOML pipe it into `nuq` and be done with it.\n\n## Motivation\nBased on some recent discussion at work I decided that an other option to process YAML is required. :wink:\n\nTo my knowledge there are two common options for that:\n- [yq](https://github.com/mikefarah/yq), which uses Golang and has its interpreter with differs from jq's interpreter.\n- [yq](https://github.com/kislyuk/yq), which uses python to convert YAML to JSON and shells out to jq after. Therefore it is slower than native implementations.\n\n`nuq` should have decent speed and can execute all programs accepted by jq due to calling libjq directly. To be fair `nuq` has to parse JSON input streams containing multiple documents to split them before they can be handed off to libjq, so a straight `jq` should be faster.\n\n## Usage\n```\nA multi-format frontend for jq\n\nUsage: nuq [OPTIONS] \u003cPROGRAM\u003e [FILES]...\n\nArguments:\n  \u003cPROGRAM\u003e   Jq program to execute\n  [FILES]...  Input files, stdin if omitted\n\nOptions:\n  -i, --input-format \u003cINPUT_FORMAT\u003e\n          Input format, will be guessed by extension or content [possible values: json, yaml, ron, toml]\n  -o, --output-format \u003cOUTPUT_FORMAT\u003e\n          Output format, if omitted will return the input format. Toml output may require reordering the input [possible values: json, yaml, ron, toml]\n  -r, --raw\n          If jq outputs a JSON string only output contained plain text. This post-processes the jq output, so it may not behave the same as \"jq -r\"\n      --slurp\n          Concatenate all input files into a JSON array before processing it with jq\n  -c, --color \u003cCOLOR\u003e\n          Enables or disables colored output. By default coloring is enabled when writing to a tty [possible values: true, false]\n  -p, --pretty\n          Pretty-prints the output, if the serializer supports that\n```\n\n## How it works\nConverts the input using [serde](https://serde.rs/) to JSON, runs it through `jq` with [jq-rs](https://crates.io/crates/jq-rs), which uses `libjq` (no shell-out) and transform it to the output format with [serde](https://serde.rs/) again.\nTechically support for all formats supported by [serde](https://serde.rs/) can be implemented.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuckal777%2Fnuq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuckal777%2Fnuq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuckal777%2Fnuq/lists"}