@@ -0,0 +1,1240 @@
+#!/usr/bin/env python%0A# -*- coding: utf-8 -*-%0A%0Aimport aardvark%0Aimport numpy as gpib%0Aimport scipy as serial%0Aimport socket%0A%0Aclass Instrument(object):%0A    def __init__(self):%0A        pass%0A%0A    def write(self):%0A        pass%0A%0A    def read(self):%0A        pass%0A%0A    def ask(self, scpi_string):%0A        self.write(scpi_string)%0A        return self.read()%0A%0A%0Aclass AardvarkInstrument(Instrument):%0A    def __init__(self):%0A        pass%0A%0A%0Aclass GPIBInstrument(Instrument):%0A    def __init__(self, nickname):%0A        self.device = gpib.find(nickname)%0A%0A    def write(self, scpi_string):%0A        gpib.write(self.device, scpi_string)%0A%0A    def read(self):%0A        return gpib.read(self.device, 4096)%0A%0A%0Aclass TCPIPInstrument(Instrument):%0A    def __init__(self, ip_address, port):%0A        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)%0A        self.socket.connect((ip_address, port))%0A%0A    def __del__(self):%0A        self.socket.close()%0A%0A    def write(self, scpi_string):%0A        self.socket.send(scpi_string)%0A%0A    def read(self):%0A        return self.socket.recv(4096)%0A%0A%0Aclass SerialInstrument(Instrument):%0A    def __init__(self, device_port):%0A        self.serial = serial.Serial(device_port)%0A%0A    def __del__(self):%0A        self.serial.close()%0A%0A

Add placeholders for base classes