Skip to main content

XML-RPC client for asyncio

Project description

https://github.com/mardiros/aioxmlrpc/actions/workflows/main.yml/badge.svg https://codecov.io/gh/mardiros/aioxmlrpc/branch/master/graph/badge.svg?token=BR3KttC9uJ

Asyncio version of the standard lib xmlrpc

Currently only aioxmlrpc.client, which works like xmlrpc.client but with coroutine is implemented.

Fill free to fork me if you want to implement the server part.

aioxmlrpc is based on httpx for the transport, and just patch the necessary from the python standard library to get it working.

Installation

aioxmlrpc is available on PyPI, it can simply be installed with your favorite tool, example with pip here.

pip install aioxmlrpc

Getting Started

This example show how to print the current version of the Gandi XML-RPC api.

import asyncio
from aioxmlrpc.client import ServerProxy


@asyncio.coroutine
def print_gandi_api_version():
    api = ServerProxy('https://rpc.gandi.net/xmlrpc/')
    result = yield from api.version.info()
    print(result)

if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(print_gandi_api_version())
    loop.stop()

Run the example

poetry run examples/gandi_api_version.py

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

aioxmlrpc-0.8.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

aioxmlrpc-0.8.0-py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 3

Supported by

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