Skip to main content

GraphQL query builder.

Project description

This project is inspired by https://graphiql-online.com.

https://github.com/eerimoq/gqt/raw/main/docs/assets/showcase.gif

Installation

$ pip3 install gqt

Usage

Set default GraphQL end-point URL:

$ export GQT_URL=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

Ideas

  • 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.30.0.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

gqt-0.30.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file gqt-0.30.0.tar.gz.

File metadata

  • Download URL: gqt-0.30.0.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gqt-0.30.0.tar.gz
Algorithm Hash digest
SHA256 8b9374d175bdb31046c40e540e4619889972cb1e0b3ef8c90ecd685f9725a451
MD5 873f29b0cb1b436170d280a73a63d25d
BLAKE2b-256 d21cbf64f83b16b0a4ce53d49ceb40842b4083a3797a521b35018d5f033c5d96

See more details on using hashes here.

File details

Details for the file gqt-0.30.0-py3-none-any.whl.

File metadata

  • Download URL: gqt-0.30.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for gqt-0.30.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ac834b90fe98a6d8bfa99259de8e861310da87bfa33a3c7512251f03aad97572
MD5 3606e80a49e6a966397c6e24447294d0
BLAKE2b-256 205e0f649c8bdc92e100d32d6b7e3cc13154c4b95caac9bfce34e4b8fe65e0c2

See more details on using hashes here.

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