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.1.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiohttp-xmlrpc-1.1.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3

File hashes

Hashes for aiohttp-xmlrpc-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ccf9432bc4894c15fe54c6f0792365244828e3330d1de49a1dbe1b45f767b707
MD5 f3071becd373254b4d445bb13ca93411
BLAKE2b-256 3ff927d6a91decd9c0123ce42d7b5c5e29856342ea8877676bed5b857a4a3382

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiohttp_xmlrpc-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.3

File hashes

Hashes for aiohttp_xmlrpc-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e7591fa7e7cf9b7b087dd7674c0c8e9ca4b8629ba1e1dd8677d79183cfcf774
MD5 5a928ba776e6fa3a554dad5768d9b08f
BLAKE2b-256 3554acbae7a5d303eccffa9e3a3d64c98898e29671b7d7b0b3ff3c2f24d40524

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