Add README with setup and usage instructions for

Python bindings

Introduce a comprehensive README for the Python bindings project of the
LimeDriver library. The README includes required dependencies for both
Debian/Ubuntu and Arch Linux systems, and a step-by-step guide to
creating a virtual environment, installing the package using pip, and a
basic usage example with Python code demonstrating how to interact with
the LimeDriver library. Documentation facilitates easier onboarding and
usage of the Python bindings for new users.
This commit is contained in:
Kumi 2024-02-10 14:56:32 +01:00
parent a5b812db70
commit bee60673fb
Signed by: kumi
GPG key ID: ECBCC9082395383F

View file

@ -0,0 +1,62 @@
# Python Bindings for LimeDriver
This is a Python package for the [LimeDriver](https://github.com/nqrduck/LimeDriver/) library.
## Dependencies
To build the Python bindings, you will need to have the dependencies for LimeDriver installed, as well as the Python development headers.
### Debian/Ubuntu
```bash
sudo apt-get install g++ cmake libhdf5-dev liblimesuite-dev python3-dev python3-pip python3-venv
```
### Arch Linux
```bash
sudo pacman -S gcc cmake hdf5 limesuite python python-pip
```
## Installation
It is recommended to install the Python bindings in a virtual environment. To create a new virtual environment, run the following commands:
```bash
python3 -m venv venv
source venv/bin/activate
```
The Python bindings can be installed using pip:
```bash
pip install .
```
## Usage
The Python bindings provide a high-level interface to the LimeDriver library:
```python
# Import the LimeDriver module
import limedriver
# Set the number of pulses to generate
Npulses = 1000
# Create a new PyLimeConfig object
config = limedriver.PyLimeConfig(Npulses)
# Modify the config as needed
config.srate = 1e6
# Execute the config on the LimeSDR
config.run()
# Get the path to the output file
filename = config.get_path()
# Use the built-in HDF5 reader to read the output file
data = limedriver.hdf_reader.HDF(filename)
data.print_params()
```