Skip to main content

XML-RPC client for asyncio

Project description

https://travis-ci.org/mardiros/aioxmlrpc.png?branch=master

Getting Started

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 aiohttp for the transport, and just patch the necessary from the python standard library to get it working.

Installation

pip install aioxmlrpc

Example of usage

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()

Changelog

0.5 released on 2017-09-10

  • Remove compatibility with aiohttp < 1.0 (Ovv)

0.4 released on 2017-03-30

  • Fix NXDOMAIN Exception handling (Vladimir Rutsky)
  • Fix cancel of futures handling (Gustavo Tavares Cabral)

0.3 released on 2016-06-16

  • Fix socket closing issue

0.2 released on 2016-05-26

  • Update compatibility for aiohttp >= 0.20

Important

This break the compatibility of python 3.3

0.1 released on 2014-05-17

  • Initial version implementing aioxmlrpc.client

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
aioxmlrpc-0.5.tar.gz (6.0 kB) Copy SHA256 hash SHA256 Source None Sep 10, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page