Skip to main content

Drastically Reduced YAML / JSON Query

Project description

Drastically Reduced YAML / JSON Query

Lightweight package providing a subset of yq or jq functionality:

  • get a single value from a YAML or JSON file
  • change a single value in a YAML or JSON file

Requirements

PyYAML (Version 5.4.1 or newer)

Installation

pip install dryjq

Installation in a virtual environment is strongly recommended.

Usage

Please see the documentation at https://blackstream-x.gitlab.io/python-dryjq for detailed usage information.

The documentation is generated from the MarkDown files in this repository’s docs/ directory.

Output of dryjq --help (or python3 -m dryjq --help):

usage: dryjq [-h] [--version] [-i] [-d | -v | -q] [-o OUTPUT_FORMAT]
             [--indent {2,4,8}] [--sort-keys] [--separator SEPARATOR]
             [--subscript-indicators SUBSCRIPT_INDICATORS]
             [query] [input_file]

Drastically Reduced YAML / JSON Query

positional arguments:
  query                 the query (simplest form of yq/jq syntax, default is
                        the separator character alone).
  input_file            the input file name (by default, data will be read
                        from standard input)

options:
  -h, --help            show this help message and exit
  --version             print version and exit
  -i, --inplace         modify the input file in place instead of writing the
                        result to standard output

Logging options:
  control log level (default is WARNING)

  -d, --debug           output all messages (log level DEBUG)
  -v, --verbose         be more verbose (log level INFO)
  -q, --quiet           be more quiet (log level ERROR)

Output options:
  control output formatting

  -o OUTPUT_FORMAT, --output-format OUTPUT_FORMAT
                        output format (choice of 'JSON': set output format to
                        JSON, 'YAML': set output fromat to YAML, 'input': keep
                        input format, 'toggle': change JSON to YAML or vice
                        versa; default: 'input')
  --indent {2,4,8}      indentation depth of blocks, in spaces (default: 2)
  --sort-keys           sort mapping keys (by default, mapping keys are left
                        in input order)

Query syntax options:
  control the query syntax

  --separator SEPARATOR
                        the separator character (default: '.')
  --subscript-indicators SUBSCRIPT_INDICATORS
                        the subscript indicator character(s) (default: '[]')

Issues, feature requests

Please open an issue here if you found a bug or have a feature suggestion.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dryjq-1.9.1.tar.gz (23.8 kB view hashes)

Uploaded Source

Built Distribution

dryjq-1.9.1-py3-none-any.whl (20.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page