{"library":"python-graphql-client","title":"Python GraphQL Client","description":"A Python client for interacting with GraphQL APIs, offering synchronous, asynchronous, and websocket-based subscription capabilities. It provides simple interfaces for sending queries, mutations, and subscribing to real-time data streams. The current version is 0.4.5, with a relatively active release cadence addressing features and maintenance.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install python-graphql-client"],"cli":null},"imports":["from graphql_client import GraphQLClient","from graphql_client import GraphQLClientAIOHTTP","from graphql_client import GraphQLClientWebsockets"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport json\nfrom graphql_client import GraphQLClient\n\n# Using a public GraphQL API endpoint for demonstration\nendpoint = os.environ.get(\"GRAPHQL_ENDPOINT\", \"https://countries.trevorblades.com/graphql\")\n\n# Initialize the synchronous client\nclient = GraphQLClient(endpoint=endpoint)\n\n# Define your GraphQL query\nquery = \"\"\"\n    query GetCountryDetails($code: ID!) {\n        country(code: $code) {\n            name\n            capital\n            currency\n        }\n    }\n\"\"\"\n\n# Define variables for the query\nvariables = {\"code\": \"BR\"}\n\n# Execute the query\nresponse_data = client.execute(query=query, variables=variables)\n\n# Print the raw JSON response\nprint(\"Raw Response:\", json.dumps(response_data, indent=2))\n\n# Accessing data and errors\nif 'data' in response_data and response_data['data']:\n    country = response_data['data']['country']\n    if country:\n        print(f\"\\nCountry: {country['name']}\")\n        print(f\"Capital: {country['capital']}\")\n        print(f\"Currency: {country['currency']}\")\nelse:\n    print(\"\\nError fetching country details.\")\n    if 'errors' in response_data:\n        print(\"GraphQL Errors:\", json.dumps(response_data['errors'], indent=2))","lang":"python","description":"This quickstart demonstrates how to initialize a synchronous `GraphQLClient`, define a query with variables, execute it, and process the returned JSON data and potential errors. Remember to replace the `GRAPHQL_ENDPOINT` with your actual GraphQL API endpoint.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.4.3","pypi_latest":"0.4.3","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":4.6,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"31.1M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":5.4,"import_time_s":null,"mem_mb":null,"disk_size":"33M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"34.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.4,"import_time_s":null,"mem_mb":null,"disk_size":"37M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"25.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.4,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"25.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.7,"import_time_s":null,"mem_mb":null,"disk_size":"28M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"31.2M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"python-graphql-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":6.3,"import_time_s":null,"mem_mb":null,"disk_size":"34M"}]}}