Skip to content


Repository files navigation


PyPI version Build Status Documentation Status DOI status

An Easy Python Wrapper for LJM to Just Take Data Already

This is a package designed to make streaming data from LabJack T-series devices easy.

Device Compatibility

  • T7 and T7 Pro
  • T4


  • Python 3.5+
  • LJM

All other requirements will be automatically acquired by pip; see requirements.txt for a complete list of all requirements that will be automatically obtained.


You can install this package with pip through our PyPi package with the command

pip install labjackcontroller

Alternatively, since we use pbr in, you can install from this github repository with

git clone
cd labjack-controller
pip install .

Sample Usage

Multiple demonstrations of library functions are located in the demos folder, and you can read the library documentation here. However, getting started with full streaming is as easy as

from labjackcontroller.labtools import LabjackReader

duration = 10  # seconds
frequency = 100  # sampling rate in Hz
channels = ["AIN0"]  # read Analog Input Channel 0
voltages = [10.0] # i.e. input voltages in range -10 to +10 volts

# Instantiate a LabjackReader
with LabjackReader("T7") as my_lj:
    my_lj.collect_data(channels, voltages, duration, frequency)

    # Get all data recorded as a 2D Numpy array
    my_data = my_lj.to_array()

How To Get Help (or Help Us)

If you found a bug, have a question, or otherwise need to contact us, please read this.

If you want to help us in the development process, or have an idea, read this.


Special Thanks