It supports a wide variety of hardware. Protocol decoders are written in Python and can be stacked on top of each other.
Subprojects
libsigrok is a shared library written in C, which provides the basic hardware access device drivers for logic analyzers, as well as input/output file format support.
libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality through protocol decoders written in python.
sigrok-cli is a command-line frontend for sigrok.
PulseView is a Qt-based logic analyzer and oscilloscope GUI for sigrok.
SmuView is a Qt-based sigrok GUI for analog test and measurement devices like multimeters, power supplies or electronic loads.
sigrok-meter is a special-purpose GUI for libsigrok (written in Python 3, using the libsigrok Python bindings) which supports certain classes of test and measurement devices that usually provide slowly updating measurement values, such as multimeters (DMMs) or dataloggers.