Useful function when interacting with GraphQL APIs
Project description
The graphql-utils Python package is a collection of utilities function for interacting with GraphQL libraries. It is meant to be library agnostic so it should work with whatever library or protocol you want.
Usage
Multi-requests
The multi-requests module allows you to send a request multiple times with different parameter. It also supports pagination, making sure that you’ll get all the results for all the requests you sent.
Example:
import requests
from graphql_utils import multi
def requests_api(query):
return requests.post("https://myapi.com/graphql", json=query)
userlist = (
{"login": "jd"},
{"login": "sileht"},
{"login": "foo"},
{"login": "bar"},
)
result_iterator = multi.multi_query("""
user(login: "{login}") {{
pets(first: 100{after}) {{
nodes {{
name
}}
pageInfo {{
hasNextPage
endCursor
}}
}}
}}""",
iterable=userlist,
pageinfo_path=("pets", "pageInfo"),
send_fn=requests_api,
)
This will send one GraphQL requests with 4 queries (one for each user from userlist). As pageinfo_path was specified, if any of the query does not return all information in one request, a new query using the endCursor will be automatically sent to get the next results.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graphql-utils-0.4.tar.gz.
File metadata
- Download URL: graphql-utils-0.4.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08d8378b6deb731298cce549ebfc0a7398e75f1eeca4b4de609c917e4c4ea4f8
|
|
| MD5 |
94b3d5543a47f8a9042048464f998742
|
|
| BLAKE2b-256 |
5eab834907c55a54c6196813c4eed580b0470f908f1b3b612fe129a7f5a80f7e
|
File details
Details for the file graphql_utils-0.4-py3-none-any.whl.
File metadata
- Download URL: graphql_utils-0.4-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3421c821ccce7939dff7d2f95e251b56bf02c8baacb8c469ad6518a5bcb0a51
|
|
| MD5 |
18982d9a7e716e77a2036d23fedba6bc
|
|
| BLAKE2b-256 |
954e6c88f7898815a4069f07ad583ca5940dfe436596f18dfdebe0f1539b3094
|