Skip to main content

Package for sending (hardware) experiment requests across the network and receiving the results

Project description

Waverunner is a symmetrical client/server RPC tool

securely advertises and executes arbitrary remote python modules

server-side code:

create a script (let's call it that looks like this:

import numpy
import fancyInstrumentControl
from waverunner import SecureMethod

def get_measurement(stimulus):
    return fancyInstrumentControl.pass(stimulus)

then run waverunner:

$ python -m waverunner \
     --srv-path /path/to/ \
     --notify 123.345.543.2
     --password mybestfriendsgirlfriendisamediocresong

found batch-script.get_measurement
serving at 142.555.432.1
sending notifications to 123.345.543.2

waverunner will now serve 'batch-script.get_measurement()' and advertise to any waverunner that might be running at 123.345.543.2

client-side code:

from waverunner import Server

server = Server(

request = (
    np.stack([np.random.randn(100) for i in range(100)]),

result = server.external_request('http://142.555.432.1', *request)

Project details

Download files

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

Files for waverunner, version 0.2b6
Filename, size File type Python version Upload date Hashes
Filename, size waverunner-0.2b6-py2.py3-none-any.whl (17.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page