python-aaronia
Python bindings for sdr-aaronia-rs —
stream IQ samples from Aaronia SPECTRAN V6 devices (via an RTSA-Suite PRO
HTTP server block or the native SDK) or play back recorded .rtsa files,
straight into NumPy or Apache Arrow.
- PyPI package:
python-aaronia· importable module:aaronia - Wheels: abi3, CPython ≥ 3.9, one wheel per OS/arch (plus an sdist for everything else — building from source needs a Rust toolchain)
- License: GPL-3.0-or-later
Install
pip install python-aaronia
Or from a checkout (requires Rust + maturin):
cd python-aaronia
maturin develop --release
Quickstart
import aaronia
cfg = aaronia.AaroniaConfig()
cfg.http_base_url = "http://localhost:54664" # RTSA-Suite HTTP server block
cfg.center_freq = 2.44e9 # Hz
cfg.sample_rate = 15.36e6 # Hz
cfg.format = "F32" # wire format: F32, F16, or I16
src = aaronia.AaroniaSource()
src.start_streaming(cfg)
samples = src.read_samples_numpy(65536) # numpy complex64 array
batch = src.read_samples_arrow(65536) # pyarrow FixedSizeListArray of [re, im]
src.set_center_frequency(2.41e9) # live retune, no teardown
print(src.cumulative_drops(), src.take_overrun(), src.last_timestamp_ns())
src.stop_streaming()
File playback: set cfg.file_path = "capture.rtsa" instead of
http_base_url.
Configuration (AaroniaConfig)
Every field is readable and writable.
| Field | Meaning |
|---|---|
http_base_url |
RTSA-Suite HTTP server URL; pins the HTTP backend |
file_path |
Path to a recorded .rtsa file; pins the file backend |
device_serial |
Device selection for the native-SDK backend |
center_freq |
Center frequency, Hz |
sample_rate |
IQ sample rate, Hz (the Aaronia "span") |
reference_level |
Reference level, dBm |
format |
HTTP wire format: "F32", "F16", or "I16" (true low-bandwidth mode) |
receiver_channel |
"Rx1" (default), "Rx2", or "Rx1And2" (native SDK, full V6) |
Unknown format/receiver_channel strings raise ValueError instead of
silently defaulting.
Semantics worth knowing
- One copy per read. Samples are copied once out of the Rust receive buffer into a NumPy/Arrow-owned buffer — safe to hold indefinitely. (Not "zero-copy"; one copy is the honest count.)
- Blocking calls release the GIL. Other Python threads keep running;
KeyboardInterruptis delivered between calls. Reads block untilcountsamples arrive or an internal 30 s timeout raisesAaroniaTimeoutError. - Typed exceptions.
AaroniaConnectionError(unreachable endpoint),AaroniaTimeoutError,AaroniaHardwareError(device/SDK errors),ValueError(invalid configuration) — mapped from the Rust error enum, with the full cause chain in the message. - Dual-channel (
receiver_channel = "Rx1And2",read_samples_dual_numpy(count)→ two time-aligned arrays) requires the native-SDK backend: Windows/Linux with the Aaronia SDK installed, and a full (two-input) V6. Hardware-unverified — the development device is a single-channel V6 ECO.
Source methods
| Method | Purpose |
|---|---|
start_streaming(cfg) / stop_streaming() |
Session lifecycle |
read_samples_numpy(count) |
NumPy complex64 array |
read_samples_arrow(count) |
PyArrow FixedSizeListArray of [re, im] float32 pairs |
read_samples_dual_numpy(count) |
(rx1, rx2) NumPy arrays (dual-channel captures) |
set_center_frequency(hz) / set_sample_rate(hz) / set_reference_level(dbm) |
Live retuning |
cumulative_drops() |
Total server-reported dropped samples |
take_overrun() |
True once per detected receive-side overrun |
last_timestamp_ns() |
Epoch-ns timestamp of the last received block (HTTP backend; 0 otherwise) |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_aaronia-0.5.0.tar.gz.
File metadata
- Download URL: python_aaronia-0.5.0.tar.gz
- Upload date:
- Size: 355.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50555a4a0abfe83286b0ae0272577004b54dfb8ec9080d68dace128d2c2d2d47
|
|
| MD5 |
092bf8a23fefebd979cce45e455600bf
|
|
| BLAKE2b-256 |
49e6baf3bd32dd3522b561cf635de97f7a2dbde88d155f1e4d92a5d058a72cf9
|
Provenance
The following attestation bundles were made for python_aaronia-0.5.0.tar.gz:
Publisher:
release.yml on isaacbentley/sdr-aaronia-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_aaronia-0.5.0.tar.gz -
Subject digest:
50555a4a0abfe83286b0ae0272577004b54dfb8ec9080d68dace128d2c2d2d47 - Sigstore transparency entry: 2423516218
- Sigstore integration time:
-
Permalink:
isaacbentley/sdr-aaronia-rs@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/isaacbentley
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_aaronia-0.5.0-cp39-abi3-win_amd64.whl.
File metadata
- Download URL: python_aaronia-0.5.0-cp39-abi3-win_amd64.whl
- Upload date:
- Size: 2.8 MB
- Tags: CPython 3.9+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26eb3a6fd8b02da42c1ad244ee80df17efaa0d25de292c9e4cf3ce46bd05397b
|
|
| MD5 |
0153dae59911b2f1d65615a897843da9
|
|
| BLAKE2b-256 |
60dc3276eb26ff581398b7712285840f812b1d14c9435527cc643922243486db
|
Provenance
The following attestation bundles were made for python_aaronia-0.5.0-cp39-abi3-win_amd64.whl:
Publisher:
release.yml on isaacbentley/sdr-aaronia-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_aaronia-0.5.0-cp39-abi3-win_amd64.whl -
Subject digest:
26eb3a6fd8b02da42c1ad244ee80df17efaa0d25de292c9e4cf3ce46bd05397b - Sigstore transparency entry: 2423516323
- Sigstore integration time:
-
Permalink:
isaacbentley/sdr-aaronia-rs@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/isaacbentley
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_aaronia-0.5.0-cp39-abi3-manylinux_2_39_x86_64.whl.
File metadata
- Download URL: python_aaronia-0.5.0-cp39-abi3-manylinux_2_39_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.9+, manylinux: glibc 2.39+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91cb3db81d3c9e6d34dda4bbf5f292f7b096c9359434be224a9f1696cbffaecc
|
|
| MD5 |
8583ef5b177a8986ec82d6d6778dec6d
|
|
| BLAKE2b-256 |
38a4756f8be1ee9c78567a0a6855164d105426c584cd8e33415946ff5d921bd1
|
Provenance
The following attestation bundles were made for python_aaronia-0.5.0-cp39-abi3-manylinux_2_39_x86_64.whl:
Publisher:
release.yml on isaacbentley/sdr-aaronia-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_aaronia-0.5.0-cp39-abi3-manylinux_2_39_x86_64.whl -
Subject digest:
91cb3db81d3c9e6d34dda4bbf5f292f7b096c9359434be224a9f1696cbffaecc - Sigstore transparency entry: 2423516285
- Sigstore integration time:
-
Permalink:
isaacbentley/sdr-aaronia-rs@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/isaacbentley
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_aaronia-0.5.0-cp39-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: python_aaronia-0.5.0-cp39-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.9+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29a16f114a9cff69f9001d83f310c87b1f5da663df9fff27db5c47f4faf116f6
|
|
| MD5 |
8f2e5d501f3b18b5fd69b4e744406187
|
|
| BLAKE2b-256 |
a00c3e3deb44a1822d2092e65399f2ff6dd34c6c0547759ebbaaecae171115a3
|
Provenance
The following attestation bundles were made for python_aaronia-0.5.0-cp39-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on isaacbentley/sdr-aaronia-rs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_aaronia-0.5.0-cp39-abi3-macosx_11_0_arm64.whl -
Subject digest:
29a16f114a9cff69f9001d83f310c87b1f5da663df9fff27db5c47f4faf116f6 - Sigstore transparency entry: 2423516251
- Sigstore integration time:
-
Permalink:
isaacbentley/sdr-aaronia-rs@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Branch / Tag:
refs/tags/v0.5.0 - Owner: https://github.com/isaacbentley
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@633863a2b0dc81cb23005322e7cce1c4b96c2357 -
Trigger Event:
push
-
Statement type: