Skip to main content

aiohttp XML-RPC server handler and client

Project description

https://github.com/mosquito/aiohttp-xmlrpc/workflows/tox/badge.svg Latest Version https://img.shields.io/pypi/wheel/aiohttp-xmlrpc.svg https://img.shields.io/pypi/pyversions/aiohttp-xmlrpc.svg https://img.shields.io/pypi/l/aiohttp-xmlrpc.svg

XML-RPC server and client implementation based on aiohttp. Using lxml and aiohttp.Client.

Server example

from aiohttp import web
from aiohttp_xmlrpc import handler
from tornado.testing import *


class XMLRPCExample(handler.XMLRPCView):
    def rpc_test(self):
        return None

    def rpc_args(self, *args):
        return len(args)

    def rpc_kwargs(self, **kwargs):
        return len(kwargs)

    def rpc_args_kwargs(self, *args, **kwargs):
        return len(args) + len(kwargs)

    def rpc_exception(self):
        raise Exception("YEEEEEE!!!")


app = web.Application()
app.router.add_route('*', '/', XMLRPCExample)

if __name__ == "__main__":
    web.run_app(app)

Client example

import asyncio
from aiohttp_xmlrpc.client import ServerProxy


loop = asyncio.get_event_loop()
client = ServerProxy("http://127.0.0.1:8080/", loop=loop)

async def main():
    print(await client.test())

    # Or via __getitem__
    method = client['args']
    print(await method(1, 2, 3))

    client.close()

if __name__ == "__main__":
    loop.run_until_complete(main())

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

aiohttp-xmlrpc-1.3.1.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

aiohttp_xmlrpc-1.3.1-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file aiohttp-xmlrpc-1.3.1.tar.gz.

File metadata

  • Download URL: aiohttp-xmlrpc-1.3.1.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for aiohttp-xmlrpc-1.3.1.tar.gz
Algorithm Hash digest
SHA256 6ac468d1a8f9a1183084c517471dcfde8de76b4e04072b0fa1c1dc54e6a5d449
MD5 9242803a01318737fb22ae2763db4426
BLAKE2b-256 a1f17e56485ceead39f67ee32af1b598377b330067d96bb936d2d9b18900829a

See more details on using hashes here.

File details

Details for the file aiohttp_xmlrpc-1.3.1-py3-none-any.whl.

File metadata

  • Download URL: aiohttp_xmlrpc-1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for aiohttp_xmlrpc-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 96bb1bc30438060028b6e57fbb46ef67c6b13a2b0355209e5185fa76a87f739c
MD5 357ad21dfea3ce7c2c67f699202946bd
BLAKE2b-256 48638f9a021cb0b4ca6392c9218ee2bc97231c7d4f3167cbfceffeb16df2e3ae

See more details on using hashes here.

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