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": {
"numberOfGraphqlRequests": 3
}
}
Repeat last query:
$ gqt -r
{
"statistics": {
"numberOfGraphqlRequests": 4
}
}
Print the query instead of executing it:
$ gqt -q
{statistics {numberOfGraphqlRequests}}
Use jq for colors and extracting field values:
$ gqt | jq
{
"statistics": {
"numberOfGraphqlRequests": 5
}
}
$ gqt | jq .statistics.numberOfGraphqlRequests
6
Alternatively use and bat for colors:
$ gqt | bat -l json
───────┬────────────────────────────────────────────
│ STDIN
───────┼────────────────────────────────────────────
1 │ {
2 │ "statistics" : {
3 │ "numberOfGraphqlRequests" : 7
4 │ }
5 │ }
───────┴────────────────────────────────────────────
Use YAML output and bat for colors:
$ gqt -y | bat -l yaml
───────┬────────────────────────────────────────────
│ STDIN
───────┼────────────────────────────────────────────
1 │ statistics:
2 │ numberOfGraphqlRequests: 8
───────┴────────────────────────────────────────────
Print the schema:
$ gqt --print-schema | bat -l graphql
───────┬────────────────────────────────────────────
│ STDIN
───────┼────────────────────────────────────────────
1 │ type Query {
2 │ standardLibrary: StandardLibrary!
3 │ statistics: Statistics!
4 │ activities: [Activity!]!
5 │ }
6 │
7 │ type StandardLibrary {
8 │ package(name: String!): Package!
9 │ packages: [Package!]
10 │ numberOfPackages: Int
11 │ numberOfDownloads: Int
12 │ }
...
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 │ ▼ standardLibrary │ ▼ package │ $ name: name │ ■ id: 5 │ $ kind: kind │ □ name │ □ numberOfDownloads │ ▶ 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.46.0.tar.gz
(9.1 kB
view hashes)
Built Distribution
gqt-0.46.0-py3-none-any.whl
(8.6 kB
view hashes)