skillfed

pyadi-iio

Analog Devices python interfaces for hardware with Industrial I/O drivers

pyadi-iio v0.0.21 327.4K downloads/30d#7,569 on PyPI238
Permissive license ADI BSD Active released

What it is and what it does

pyadi-iio is a Python abstraction layer for Analog Devices hardware that exposes Industrial I/O drivers. Instead of writing low-level libIIO boilerplate, you instantiate device classes and call high-level methods to acquire data. The package ships with custom interfaces for specific ADI parts and development boards, each hiding the complexity of buffer management and parameter configuration behind a simpler API.

The library depends on numpy for array handling and pylibiio for the underlying IIO interface to the hardware. It supports Python 3.8 through 3.12 and is actively maintained by Analog Devices. Use it when you need to control ADI RF transceivers, data converters, or other IIO-based hardware from Python without wrestling with low-level driver details.

Use it for:

  • Rapid prototyping of RF signal acquisition and transmission with ADI hardware in a Python environment.
  • Automating test and measurement workflows that interact with ADI development boards or evaluation kits.
  • Building Python-based SDR applications using ADI hardware as the front end.
  • Integrating ADI analog-to-digital or digital-to-analog converters into data acquisition pipelines.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

pyadi-iio provides Python classes that wrap Analog Devices hardware with Industrial I/O drivers, reducing boilerplate and simplifying data acquisition from ADI transceivers and signal processing boards.

Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and carries a permissive license. Install it if you own or plan to use supported ADI hardware and want to control it from Python without writing low-level IIO code. Verify that your specific hardware model is in the supported parts list before committing.

Install

pyadi-iio on PyPI

pip

pip install pyadi-iio

uv

uv add pyadi-iio

poetry

poetry add pyadi-iio

Installing pyadi-iio

Before you install

Low friction install with a pure-Python wheel. Actively maintained with a recent release 80 days ago and ongoing commits. Depends only on numpy and pylibiio, both stable packages.

License in practice

Licensed under ADI BSD (permissive), allowing commercial and private use with minimal restrictions.

Quickstart

pip install pyadi-iio
import pyadi_iio
# Create device from specific uri address
data = pyadi_iio.rx()

Requires libiio with Python bindings installed on the system; the package itself is a Python wrapper around that C library.

Verify before relying

  • Which specific ADI hardware models are supported—the description references a supported_parts.md but does not enumerate them.
  • Whether the optional jesd extra dependency adds significant functionality or is rarely needed.
  • Concrete example of how to instantiate and use device-specific classes beyond the generic rx() pattern.

Package facts

License ADI BSD (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 2 — numpy, pylibiio
Maintenance actively maintained — 80 days since the last release
Last repo commit
First released
Downloads 327,355/month — #7,569 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyadi_iio-0.0.21-py3-none-any.whl

Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

analog devices hardware python interfaceIIO driver python wrapperADI transceiver controlsignal acquisition pythonindustrial I/O python abstraction
hardware-interfacesignal-processingembedded-systems

More Python Modules packages