IDM Python & Jupyter Support

The Real Power comes with Python and Jupyter.

Installation in Linux and MAC OS

Python3 is nowadays available within all standard linux distributions. Simply add the packages as instructed under Add Packages.

PyPy JIT Optimized

To those who require increased performance we encourage to use pypy with JIT compiler instead. It performs about 4 times faster when streaming and processing signals from MonoDAQ devices in real-time.

Download the running distribution from:

Extract it and we suggest you to work within a virtual environment. For example in your home folder you may want to create a new python environment called pypy

$ /your-path-to-extracted-pypy/bin/virtualenv-pypy pypy

This step copied binaries into your private environment in which you may further install packages without impacting on your system installation. However you need to activate it first by:

$ source pypy/bin/activate
(pypy) $

Note the (pypy) added at the front of command line. If you would want to switch to another virtual environment deactivate it by typing deactivate.

Installation in Windows

  • On SciPy page select to download from anaconda.
  • Select python 3.4: Choose Your Installer: I want PYthon 3.4
  • Select 32-bit or 64-bit OS version, download and install.
  • Install also NodeJS to be able to convert notebooks to html slides.

You may be interested to try pypy with JIT compiler, however the 32-bit Beta version is available only.

Add Packages

For full python with jupyter support install:

(pypy) $ pip install jupyter bokeh isotel-idm

bokeh is needed by the isotel-idm monodaq library, however not stated explicitly to be able to install isotel-idm library only on embedded systems.


Under MAC OS you may force it to use newer version of the requests package, then install it as: pip install isotel-idm requests==2.8.1

It is compatible with the isotel-idm.

Quick Start

A simple usage is as follows:

from isotel.idm import gateway, monodaq

# connect to some remote host
mdu = monodaq.MonoDAQ_U( gateway.Group('http://my.remote.host:33000', username='user', password='pass') )

# print channel setup of a MonoDAQ device

# Measure, 5 samples from analog and/or digital
meas = list( mdu.fetch(5) )

To get help on library methods, do for example:

from isotel.idm import gateway