https://github.com/analogdevicesinc/pyadi-iio
Python interfaces for ADI hardware with IIO drivers (aka peyote)
https://github.com/analogdevicesinc/pyadi-iio
adi hacktoberfest hacktoberfest2022 hardware iio libiio python
Last synced: about 1 year ago
JSON representation
Python interfaces for ADI hardware with IIO drivers (aka peyote)
- Host: GitHub
- URL: https://github.com/analogdevicesinc/pyadi-iio
- Owner: analogdevicesinc
- License: other
- Created: 2019-07-12T21:51:40.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-05-06T19:49:58.000Z (about 1 year ago)
- Last Synced: 2025-05-06T20:23:26.760Z (about 1 year ago)
- Topics: adi, hacktoberfest, hacktoberfest2022, hardware, iio, libiio, python
- Language: Python
- Homepage: https://analogdevicesinc.github.io/pyadi-iio
- Size: 302 MB
- Stars: 169
- Watchers: 36
- Forks: 114
- Open Issues: 65
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Support: supported_parts.md
Awesome Lists containing this project
README
---
### 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:
```python
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](https://github.com/analogdevicesinc/pyadi-iio/blob/master/supported_parts.md)
### Dependencies
- [libiio with python bindings](https://wiki.analog.com/resources/tools-software/linux-software/libiio)
- [numpy](https://scipy.org/install.html)
### 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
```