GraphQL client in the terminal.
Project description
This project is inspired by https://graphiql-online.com.
Installation
$ pip3 install gqt
Usage
Set default GraphQL endpoint URL:
$ export GQT_ENDPOINT=https://mys-lang.org/graphql
Interactively create a query and execute it:
$ gqt
{"statistics": {"number_of_graphql_requests": 234}}
Repeat last query:
$ gqt -r
{"statistics": {"number_of_graphql_requests": 235}}
Print the query instead of executing it:
$ gqt -q
{"query":"{statistics {number_of_graphql_requests}}"}
Use jq for indentation, colors and extracting field values:
$ gqt | jq
{
"statistics": {
"number_of_graphql_requests": 236
}
}
$ gqt | jq .statistics.number_of_graphql_requests
237
Alternatively use json_pp and bat for indentation and colors:
$ gqt | json_pp | bat -l json
───────┬──────────────────────────────────────────────────────────────
│ STDIN
───────┼──────────────────────────────────────────────────────────────
1 │ {
2 │ "statistics" : {
3 │ "number_of_graphql_requests" : 238
4 │ }
5 │ }
───────┴──────────────────────────────────────────────────────────────
Use YAML output and bat for indentation and colors:
$ gqt -y | bat -l yaml
───────┬──────────────────────────────────────────────────────────────
│ STDIN
───────┼──────────────────────────────────────────────────────────────
1 │ statistics:
2 │ number_of_graphql_requests: 239
───────┴──────────────────────────────────────────────────────────────
Known issues
Arguments does not work very well.
Scrolling.
Ideas
Mutations?
Subscriptions?
Arguments and variables:
■: not null □: null $: variable
Scalar example:
╭─ Query │ ▼ standard_library │ ▼ package │ ■ name: "" │ □ name │ ▶ packages
List example:
╭─ Query │ ▼ item │ □ kinds: │ ■ kinds2: │ [0] ■ a: "foo" │ ■ b: "eq" │ ■ c: │ [0] ■ a: "x" │ ■ b: "y" │ [1] │ [1] ■ a: "bar" │ ■ b: "ne" │ □ c: │ [2]
Variables example:
╭─ Query │ ▼ standard_library │ ▼ package │ $ name: name │ ■ id: 5 │ $ kind: kind │ □ name │ □ number_of_downloads │ ▶ statistics ╭─ Variables │ name: "foo" │ kind: │ [0] ■ a: "bar" │ ■ b: "ne" │ □ c: │ [1]
Print the variables:
$ gqt -v {"name": "foo", "kind": [{"a": "bar", "b": "ne"}]}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
gqt-0.43.0.tar.gz
(8.8 kB
view hashes)
Built Distribution
gqt-0.43.0-py3-none-any.whl
(8.4 kB
view hashes)