pyadi-iio
Analog Devices python interfaces for hardware with Industrial I/O drivers
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-iiouv
uv add pyadi-iiopoetry
poetry add pyadi-iioInstalling 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
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
nidaqmxProvides a Python API to control and acquire…
permissive · top 15,000 on PyPI
pylibiioPython bindings for libiio, a library for…
copyleft · top 15,000 on PyPI
pymata-expressAn asyncio-based Python client for controlling…
agpl · top 15,000 on PyPI
pyadspyads is a Python wrapper for TwinCAT's ADS…
permissive · top 15,000 on PyPI
phidget22Phidget22 is the official Python library for…
permissive · top 15,000 on PyPI
pyftdiPyFtdi provides a pure-Python user-space driver…
permissive · top 15,000 on PyPI
adafruit-circuitpython-busdeviceProvides I2CDevice and SPIDevice helper classes…
permissive · top 15,000 on PyPI
aiousbwatcherWatches for USB devices being plugged in and…
permissive · top 15,000 on PyPI
PyVISAPyVISA provides Python bindings to VISA…
permissive · top 5,000 on PyPI
genicamProvides Python bindings to GenICam, enabling…
unclear · top 15,000 on PyPI