Skip to content
Beau Barker edited this page Jul 3, 2025 · 2 revisions

Using the Requests library.

import logging

import requests

from jsonrpcclient import Error, Ok, parse, request

response = requests.post("http://localhost:5000/", json=request("ping"), timeout=10)
parsed = parse(response.json())
if isinstance(parsed, Ok):
    print(parsed.result)
elif isinstance(parsed, Error):
    logging.error(parsed.message)

Python 3.10 usage:

import logging

import requests

from jsonrpcclient import Error, Ok, parse, request

response = requests.post("http://localhost:5000/", json=request("ping"), timeout=10)

match parse(response.json()):
    case Ok(result, id_):
        print(result)
    case Error(code, message, data, id_):
        logging.error(message)

Batching:

import logging

import requests

from jsonrpcclient import Error, Ok, parse, request

response = requests.post(
    "http://localhost:5000/", json=[request("ping") for _ in range(5)], timeout=10
)

parsed = parse(response.json())
for p in parsed:
    if isinstance(p, Ok):
        print(p.result)
    elif isinstance(p, Error):
        logging.error(p.message)
Clone this wiki locally