yq.tool
4.53.3
dotnet tool install --global yq.tool --version 4.53.3
dotnet new tool-manifest
dotnet tool install --local yq.tool --version 4.53.3
#tool dotnet:?package=yq.tool&version=4.53.3
nuke :add-package yq.tool --version 4.53.3
yq.tool — yq as a .NET Global Tool
Unofficial repackaging of mikefarah/yq as a .NET global tool.
All credit for the underlyingyqtool goes to Mike Farah.
What is this?
yq is a portable command-line YAML/JSON/TOML/XML processor.
This package allows you to install yq via the .NET tooling ecosystem without having to manually download or manage platform-specific binaries.
dotnet tool install -g yq.tool
After installation the yq command is available in your terminal, exactly as if you had installed the native binary directly.
Requirements
- .NET 8 SDK or Runtime (or later).
Install
As a global tool
dotnet tool install -g yq.tool
As a local tool
dotnet new tool-manifest # if no manifest exists
dotnet tool install yq.tool
dotnet tool run yq --version
Upgrade
dotnet tool update -g yq.tool
Uninstall
dotnet tool uninstall -g yq.tool
Usage
Once installed the command yq is available exactly as documented by upstream:
yq --version
yq eval '.name' file.yaml
echo '{"foo": "bar"}' | yq -P # pretty-print
See the mikefarah/yq documentation for full usage.
Supported platforms
| .NET RID | OS | Architecture |
|---|---|---|
win-x64 |
Windows | x86-64 |
win-arm64 |
Windows | ARM64 |
linux-x64 |
Linux | x86-64 |
linux-arm64 |
Linux | ARM64 |
osx-x64 |
macOS | x86-64 |
osx-arm64 |
macOS | ARM64 (Apple Silicon) |
Versioning
Package versions mirror the upstream mikefarah/yq releases exactly.
A tag vX.Y.Z upstream becomes NuGet version X.Y.Z.
Security
- Native binaries are downloaded directly from the official mikefarah/yq GitHub releases.
- Checksums are verified against the upstream-provided checksum file during the release workflow.
- If the checksum file is unavailable for a release, the pipeline fails rather than packaging unverified binaries.
- No modifications are made to the upstream binaries.
How it works
The package contains:
- A small .NET launcher (
Yq.Tool) that detects the current OS and CPU architecture at runtime, resolves the path to the bundled nativeyqbinary, ensures it is executable (on Unix), and executes it — forwarding all arguments and inheriting stdin/stdout/stderr. - The native
yqbinaries for each supported platform, embedded undertools/net8.0/any/runtimes/<rid>/native/.
Disclaimer
This is an unofficial repackaging.
It is not affiliated with, endorsed by, or supported by Mike Farah or the yq project.
If you encounter issues with yq behaviour, please report them upstream.
If you encounter issues with the .NET packaging or installation, please open an issue here.
License
The launcher code in this repository is released under the MIT License.
The upstream yq binary is licensed under the MIT License by Mike Farah. A copy is included in the distributed package for attribution.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.