Author: Marc 'BlackJack' Rintsch
Date: 2014-08-17

Python bindings for from the lm-sensors project via ctypes. Supports API version 4, i.e. libsensors version 3.x.


Motivation for this package are shortcomings of scraping the output of the sensors command by different shell scripts. Some had problems when labels changed, others could not cope with too many matches of their overly broad regular expressions, and so on. Those scripts and thus this package are used at RebeIT for monitoring servers. The needs of that task are the driving force behind this implementation.


  • Python ≥2.6 and < 3
  • from lm-sensors version 3.x (API 4)

The package is pure Python, so any implementation with the ctypes module should work. Tested so far with CPython and PyPy.


The usual python install from within the source distribution.


The following example prints all detected sensor chips, their adapter, and the features with their ”main” value for each chip:

import sensors

    for chip in sensors.iter_detected_chips():
        print '%s at %s' % (chip, chip.adapter_name)
        for feature in chip:
            print '  %s: %.2f' % (feature.label, feature.get_value())

Example output of the code above:

k8temp-pci-00c3 at PCI adapter
  Core0 Temp: 16.00
  Core0 Temp: 11.00
  Core1 Temp: 28.00
  Core1 Temp: 19.00
w83627ehf-isa-0290 at ISA adapter
  Vcore: 1.10
  in1: 1.10
  AVCC: 3.30
  VCC: 3.31
  in4: 1.68
  in5: 1.68
  in6: 1.86
  3VSB: 3.30
  Vbat: 3.06
  in9: 1.55
  Case Fan: 1231.00
  CPU Fan: 2410.00
  Aux Fan: 0.00
  fan5: 0.00
  Sys Temp: 39.00
  CPU Temp: 31.50
  AUX Temp: 30.50
  cpu0_vid: 0.00