Skip to main content

GraphQL Adapter for Python.

Project description

GraphQL Adapter

The graphql_adapter module is a Python package that simplifies interactions with GraphQL servers. It abstracts away some of the pain points of using Python with GraphQL by providing a streamlined, asynchronous interface for sending GraphQL queries and mutations.

Installation

pip install graphql-adapter

Usage

The graphql_adapter module exports a single async function graphql_request.

Here's an example of how to use it:

from graphql_adapter import graphql_request

# A simple example query
query = """
query {
  test {
    field1
    field2
  }
}
"""

variables = {"key1": "value1", "key2": "value2"}

response = await graphql_request(
    query=query,
    variables=variables,
    graphql_server="http://localhost:4000/graphql",
    query_path="./gql"
)

print(response)

Function Parameters

  • query: The name of the GraphQL query or mutation. This should match the name of a .gql file in your query_path directory.
  • variables: A dictionary of variables to pass to the GraphQL query or mutation.
  • graphql_server: The URL of your GraphQL server.
  • headers (optional): A dictionary of headers to include in the request. Default is an empty dictionary.
  • query_path (optional): The relative path to the directory containing your .gql files. Default is ./gql.

Return Values

The function will return the data from the GraphQL server's response. This data is processed as follows:

  1. If the server returns an error, the function will raise an exception.
  2. If the query was a mutation and the data contains a returning field, the function will return the value of the returning field.
  3. If the data is a list, the function will return the first item in the list.
  4. If the data is a dictionary with only one item, the function will return that item.

Please note that due to the async nature of the function, you should await the function call to get the response.

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

graphql_adapter-0.0.2.tar.gz (2.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

graphql_adapter-0.0.2-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

Details for the file graphql_adapter-0.0.2.tar.gz.

File metadata

  • Download URL: graphql_adapter-0.0.2.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for graphql_adapter-0.0.2.tar.gz
Algorithm Hash digest
SHA256 75bb02c8f447a40c933cf9fc34b5bb70fee162e16e4f49771fe6d2156ecc860a
MD5 b27347a7691ec13a2ffca0553fd57f24
BLAKE2b-256 8fbccd2da51cfb439683e5d58a8fb0f0c7009abbd661b28ec8fc7b819bd2e331

See more details on using hashes here.

File details

Details for the file graphql_adapter-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for graphql_adapter-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6e876c2e3a6a5a0667531b6ebd4f656960bb116b3cc61ba0392c4ee83dd5d26e
MD5 34ac2e99882d9eac3d4b9883e3118c20
BLAKE2b-256 5bdad643e0507ede82798de99ba85fd29a6c9df0ef5c707148d82ee24ef6c563

See more details on using hashes here.

Supported by

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