Add --json output flag for batch query results

Open Beginner friendly
#263 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python, sqlite
Domain
cli

Research direction

Start in litecli/main.py and inspect the root cli options plus the existing --csv and --table handling in the -e and stdin branches. Confirm how litecli.formatter.format_name is assigned, then verify that --json appears in help and produces JSON for both batch entry points using the example query; the optional config entry should mirror the existing table_format setting.

Written by the indexing model from the issue text.

Description

Problem

litecli already supports --csv and --table for batch output (used with -e and stdin queries), but it has no equivalent --json flag. The underlying cli_helpers library already ships a json_output_adapter.py, so the formatter is available — only the CLI flag is missing.

Solution

Add a --json flag parallel to the existing --csv and -t/--table options on the root cli command. In the -e and stdin branches of litecli/main.py, set litecli.formatter.format_name = "json" next to the existing format_name = "csv" / "tsv" assignments. The change should be ~5 lines.

A table_format = "json" entry could also be accepted in ~/.config/litecli/config, mirroring the existing table_format = "csv" knob.

Use case

Scripting and CI pipelines:

litecli mydb.sqlite -e "select id, name from users" --json | jq '.[] | select(.name | startswith("a"))'

…instead of having to pipe --csv through jq -r '@csv' round-tripping.

Dominant language
Python
Stars
3.3k
Forks
95
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dbcli/litecli

All issues in dbcli/litecli

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.