Skip to main content

Python sync/async client for the WebMediator API

Project description

webmediator PyPI version

Python sync/async client for the WebMediator API.

pip install webmediator

Example 1: request/response

import webmediator

client = webmediator.Client('https://localhost:7263/mediator')

response = client.send('Ping', {'Message':'EXAMPLE' })
print(response)

Console output:

type: Pong, data: {'Message': 'EXAMPLE PONG'}

Example 2: Async request/response

import webmediator
import asyncio

async def main():
    client = webmediator.AsyncClient('http://localhost:5263/mediator')

    response = await client.send('Ping', {'Message':'EXAMPLE' })
    print(response)

if __name__ == "__main__":
    asyncio.get_event_loop().run_until_complete(main())

More code...

Example 3: File upload/download

import webmediator

client = webmediator.Client('https://localhost:7263/mediator')

with open('example.txt','rb') as file: 
    client.send('FileUpload', { 'Name': file.name, 'Content': file })

with client.send('FileDownload', { 'Name': file.name }) as response:
    content = response.data.read()
    print(content)

More code...

Example 4: Server-sent events

import webmediator
import asyncio

async def main():
    client = webmediator.AsyncClient('http://localhost:5263/mediator')

    async for sse in client.event_stream('ExampleAsyncEvents'):
        print(sse)

if __name__ == "__main__":
    asyncio.get_event_loop().run_until_complete(main())

More code...

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

webmediator-1.0.2.tar.gz (8.1 kB view details)

Uploaded Source

File details

Details for the file webmediator-1.0.2.tar.gz.

File metadata

  • Download URL: webmediator-1.0.2.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.2

File hashes

Hashes for webmediator-1.0.2.tar.gz
Algorithm Hash digest
SHA256 c1300927a38503573fbf79210b2f5f1287dabc46d3647a584614bee3f3b3a91a
MD5 7af6a1a3f21a244e241c5a8132693c7b
BLAKE2b-256 e60af8afe44d0c23b83df192dc4ee4c72115d702ab1233904cb44ca128a8e58f

See more details on using hashes here.

Supported by

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