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

Uploaded Source

File details

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

File metadata

  • Download URL: webmediator-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 df50a2a1cc8e008661f94680c654a54f635646310b9b063393091a868dfa127a
MD5 26ef8e07d02812631ed90306705beef0
BLAKE2b-256 4edd961d1e515c411f2bcd780d262a2f9df9042082e9fc02627af51dec714aab

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