Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jzelinskie/faq
Format Agnostic jQ -- process various formats with libjq
https://github.com/jzelinskie/faq
bencode bson command-line jq json plist toml xml yaml
Last synced: 5 days ago
JSON representation
Format Agnostic jQ -- process various formats with libjq
- Host: GitHub
- URL: https://github.com/jzelinskie/faq
- Owner: jzelinskie
- License: apache-2.0
- Created: 2018-03-13T06:01:24.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-10-02T15:27:05.000Z (2 months ago)
- Last Synced: 2024-10-13T06:11:09.214Z (2 months ago)
- Topics: bencode, bson, command-line, jq, json, plist, toml, xml, yaml
- Language: Go
- Homepage:
- Size: 361 KB
- Stars: 439
- Watchers: 12
- Forks: 14
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - jzelinskie/faq - Format Agnostic jQ -- process various formats with libjq (Go)
README
# faq
[![Go Report Card](https://goreportcard.com/badge/github.com/jzelinskie/faq?style=flat-square)](https://goreportcard.com/report/github.com/jzelinskie/faq)
[![Build Status](https://img.shields.io/github/workflow/status/jzelinskie/faq/build?style=flat-square&label=build&logo=github)](https://github.com/jzelinskie/faq/actions?query=workflow%3Abuild)
[![Godoc](https://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/jzelinskie/faq)
[![Releases](https://img.shields.io/github/release/jzelinskie/faq/all.svg?style=flat-square)](https://github.com/jzelinskie/faq/releases)
[![LICENSE](https://img.shields.io/github/license/jzelinskie/faq.svg?style=flat-square)](https://github.com/coreos/etcd/blob/master/LICENSE)faq is a tool intended to be a more flexible [jq], supporting additional formats.
The additional formats are converted into JSON and processed with [libjq].Supported formats:
- BSON
- Bencode
- JSON
- Property Lists
- TOML
- XML
- YAMLHow do you pronounce faq? The same way you would insult a particularly nasty structured document: "F♥︎♥︎♥︎ You".
For example usage, read [the examples doc].
[releases]: https://github.com/jzelinskie/faq/releases
[jq]: https://github.com/stedolan/jq
[libjq]: https://github.com/stedolan/jq/wiki/C-API:-libjq
[the examples doc]: /docs/examples.md## Installation
The `master` branch may be in an *unstable or even broken state* during development.
Please use [releases] instead of the `master` branch in order to get stable binaries.Behavior such as command-line flags may change causing shell scripts using faq to break after upgrading.
jq programs are stable and should be considered a bug if it does not match jq behavior.- Statically compiled binaries are available on the [releases] page: just download the binary for your platform, and make it executable.
- A [Homebrew] formula can be installed with `brew install jzelinskie/faq/faq`
- On macOS, you can also install through [MacPorts](https://www.macports.org): `sudo port install faq` ([info](https://ports.macports.org/port/faq/))
- RPMs are available via a [COPR repository].
- There's an [AUR PKGBUILD] for Arch Linux that can be installed with your favorite [AUR tooling].[Homebrew]: https://brew.sh
[COPR repository]: https://copr.fedorainfracloud.org/coprs/ecnahc515/faq
[AUR PKGBUILD]: https://aur.archlinux.org/packages/faq/
[AUR tooling]: https://wiki.archlinux.org/index.php/AUR_helpers## Development
In order to compile the project, the [latest stable version of Go] and knowledge of a [working Go environment] are required.
A version of [jq] greater than 1.6-rc2 that includes the libjq header files must also be installed on the system.```sh
git clone [email protected]:jzelinskie/faq.git
cd faq
make all
```With Docker and [buildx bake](https://github.com/docker/buildx/blob/master/docs/reference/buildx_bake.md#description):
```shell
# build docker image and output to docker with faq:local tag (default)
docker buildx bake image-local# create builder for multi-arch build (see below)
docker buildx create --name faq-builder# build multi-platform image
docker buildx bake image-all# create the artifact matching your current platform in ./dist
docker buildx bake artifact# create artifacts for many platforms in ./dist
docker buildx bake artifact-all# run tests
docker buildx bake test# lint
docker buildx bake lint
```[latest stable version of Go]: https://golang.org/dl
[working Go environment]: https://golang.org/doc/code.html
[jq]: https://stedolan.github.io/jq## License
faq is made available under the Apache 2.0 license.
See the [LICENSE](LICENSE) file for details.