Packages
Provides Python abstractions and utilities for Controller Area Network (CAN) communication, supporting multiple hardware backends and message logging formats.
Install it if you need to communicate with CAN buses from Python.
PyUSB provides Python access to USB devices on the host machine through a backend-neutral API, supporting libusb 1.0, libusb 0.1, and OpenUSB backends.
PyFtdi provides a pure-Python user-space driver for FTDI USB devices, enabling serial, SPI, I2C, GPIO, and JTAG communication without requiring platform-specific binary drivers.
Install it if you work with FTDI hardware; the only caveat is that libusb must be available on your system, and Windows support is not officially guaranteed.
Python wrapper for libusb-1.0 that enables synchronous and asynchronous USB device communication across multiple operating systems.
Python bindings for the Joulescope DC energy analyzer driver, enabling communication with JS110, JS220, and JS320 Joulescope devices to configure operation and receive measurement data.
Manages Digital Loggers web-based network power switches through a Python class and command-line interface, allowing remote control of outlet power states and configuration.
Minimalmodbus provides a Python interface to communicate with Modbus RTU and Modbus ASCII devices over serial connections, handling protocol details and offering convenience functions for floats, strings, and multi-byte integers.
Install only if your use case is serial Modbus; verify this package does not support Modbus TCP before committing if that is required.
Reads and writes JLS (Joulescope) files, a specialized format for storing high-frequency time-series signal data with built-in summaries, annotations, and multi-source support.
XKNX is an asynchronous Python library for communicating with KNX home automation systems over KNX/IP networks, enabling control of lights, switches, and other KNX devices.
Install it if you need to control or monitor KNX devices from Python code or if you are extending Home Assistant's KNX support.
Provides Python bindings to interact with SPI devices on Linux systems through the spidev kernel driver, allowing user-space programs to read from and write to SPI hardware.
Provides a Python API to control and acquire data from National Instruments DAQ devices, wrapping the NI-DAQmx C library through ctypes for analog/digital input-output, timing, and triggering.
Install it if you own or have access to NI DAQ hardware and need to control it from Python.
Joulescope is a Python driver for the Joulescope DC energy analyzer hardware, enabling automated measurement and logging of current, voltage, power, and energy in your applications.
Provides cross-platform Python access to keyboard, mouse, and gamepad input on Linux, Windows, and macOS.
Provides a C99 digital signal processing library with Python bindings, offering FFT, FIR filters, NCO, polyphase resampling, DDC, AGC, and waveform generation with file, buffer, and NATS-based streaming.
Ouster SDK provides Python interfaces to configure, record, and process data from Ouster lidar sensors, including point cloud projection, visualization, and multi-beam flash lidar data handling.