Socket
Socket
Sign inDemoInstall

graphql-utils

Package Overview
Dependencies
2
Maintainers
2
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    graphql-utils

Useful function when interacting with GraphQL APIs


Maintainers
2

Readme

========================== GraphQL Utils for Python

.. image:: https://circleci.com/gh/Mergifyio/graphql-utils.svg?style=svg :target: https://circleci.com/gh/Mergifyio/graphql-utils

.. image:: https://img.shields.io/endpoint.svg?url=https://api.mergify.com/v1/badges/Mergifyio/graphql-utils&style=flat :target: https://mergify.com :alt: Mergify Status

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.

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc