Skip to content

analogdevicesinc/pyadi-iio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

80796c5 · Feb 19, 2025
Jan 22, 2025
Feb 19, 2025
Feb 17, 2025
Feb 14, 2025
Dec 9, 2021
Feb 17, 2025
Aug 29, 2019
Jan 30, 2023
Aug 12, 2022
Feb 7, 2020
Jan 22, 2025
Jan 26, 2023
Jan 26, 2023
Aug 23, 2023
Jun 9, 2023
Jan 21, 2022
Feb 18, 2022
Jan 22, 2025
Jan 22, 2025
Sep 5, 2024
Sep 30, 2024
May 8, 2024
Jul 14, 2022
Dec 19, 2022
Feb 14, 2025
Sep 25, 2024

Repository files navigation

PyADI-IIO Logo

Build Status PyPI version Codacy Badge Python Version

GitHub Pages EngineerZone Analog Wiki


pyadi-iio: Analog Devices python interfaces for hardware with Industrial I/O drivers

pyadi-iio is a python abstraction module for ADI hardware with IIO drivers to make them easier to use. The libIIO interface although extremely flexible can be cumbersome to use due to the amount of boilerplate code required for even simple examples, especially when interfacing with buffers. This module has custom interfaces classes for specific parts and development systems which can generally make them easier to understand and use. To get up and running with a device can be as simple as a few lines of code:

import adi

# Create device from specific uri address
sdr = adi.ad9361(uri="ip:192.168.2.1")
# Get data from transceiver
data = sdr.rx()

Currently supported hardware

Supported parts and boards

Dependencies

Installing from source

tcollins@jeeves:~$ git clone https://github.com/analogdevicesinc/pyadi-iio.git
tcollins@jeeves:~$ cd pyadi-iio
tcollins@jeeves:~$ (sudo) pip install .

Installing from pip

tcollins@jeeves:~$ (sudo) pip install pyadi-iio

To get optional dependency for JESD debugging

tcollins@jeeves:~$ (sudo) pip install pyadi-iio[jesd]

Building doc

Install necessary tools

tcollins@jeeves:~$ (sudo) pip install -r requirements_doc.txt

Build actual doc with sphinx

tcollins@jeeves:~$ cd doc
tcollins@jeeves:~$ make html

Developing

Install necessary tools

tcollins@jeeves:~$ (sudo) pip install -r requirements_dev.txt

Running pre-commit checks

tcollins@jeeves:~$ pre-commit run --all-files