# Dasel: A Universal CLI Tool for Data Selection and Transformation

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/tomwright-dasel
Generated for open source discovery and AI-assisted research.

Dasel is a powerful command-line tool and Go library designed for querying, modifying, and transforming data across various formats like JSON, YAML, TOML, XML, and CSV. It provides a consistent syntax, making it an invaluable asset for developers, DevOps professionals, and anyone involved in data wrangling tasks. Its ability to convert between formats and integrate into scripts further enhances its utility.

GitHub: https://github.com/TomWright/dasel
OSRepos URL: https://osrepos.com/repo/tomwright-dasel

## Summary

Dasel is a powerful command-line tool and Go library designed for querying, modifying, and transforming data across various formats like JSON, YAML, TOML, XML, and CSV. It provides a consistent syntax, making it an invaluable asset for developers, DevOps professionals, and anyone involved in data wrangling tasks. Its ability to convert between formats and integrate into scripts further enhances its utility.

## Topics

- CLI Tool
- Data Processing
- Configuration
- Go
- JSON
- YAML
- TOML
- DevOps

## Repository Information

Last analyzed by OSRepos: Sun Oct 26 2025 00:00:48 GMT+0100 (Western European Summer Time)
Detail views: 3
GitHub clicks: 6

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Introduction
Dasel, short for Data-Select, is a versatile command-line tool and Go library that simplifies querying, modifying, and transforming structured data. It supports a wide array of formats including JSON, YAML, TOML, XML, and CSV, offering a unified and powerful syntax for interacting with your data. Whether you need to extract specific values, update configurations, or convert data between different formats, Dasel provides an efficient solution.

## Installation
Getting started with Dasel is straightforward. You can install it using popular package managers or directly from source.

### Homebrew (macOS/Linux)
sh
brew install dasel


### Go Install
sh
go install github.com/tomwright/dasel/v3/cmd/dasel@master

For more installation options, including prebuilt binaries, please refer to the [official documentation](https://daseldocs.tomwright.me/getting-started/installation).

## Examples
Dasel's intuitive syntax makes common data manipulation tasks simple. Here are a few examples:

### Selecting Values
sh
echo '{"foo": {"bar": "baz"}}' | dasel -i json 'foo.bar'
# Output: "baz"


### Modifying Values
sh
echo '{"foo": {"bar": "baz"}}' | dasel -i json --root 'foo.bar = "bong"'
# Output:
{
  "foo": {
    "bar": "bong"
  }
}


### Format Conversion
sh
cat data.json | dasel -i json -o yaml


### Recursive Descent (`..`)
sh
echo '{"foo": {"bar": "baz"}}' | dasel -i json '..bar'
# Output:
[
    "baz"
]


### Search (`search`)
sh
echo '{"foo": {"bar": "baz"}}' | dasel -i json 'search(bar == "baz")'
# Output:
[
    {
        "bar": "baz"
    }
]


## Why Use Dasel?
Dasel stands out due to its comprehensive feature set and ease of use. Its multi-format support means you only need one tool for various data types, simplifying your workflow. The unified query syntax ensures consistency, reducing the learning curve. It's highly script-friendly, making it ideal for automation in shell scripts and CI/CD pipelines. Furthermore, its availability as a Go package allows developers to integrate its powerful capabilities directly into their Go applications.

## Links
Find more information and contribute to Dasel:
- [GitHub Repository](https://github.com/TomWright/dasel)
- [Official Documentation](https://daseldocs.tomwright.me)
- [License (MIT)](https://github.com/TomWright/dasel/blob/master/LICENSE)