10 KiB
RIA Toolkit OSS, By Qoherent
Let's build intelligent radios together 📡🚀
RIA Toolkit OSS
RIA Toolkit OSS is the open-source version of the RIA Toolkit, providing the fundamental components to help engineers and researchers get started building, testing, and deploying radio intelligence applications.
🌟 Key features
-
Core classes for loading, managing, and interacting with machine learning assets, including recordings, models, and datasets.
-
Fundamental recording augmentations and impairments for radio ML dataset preparation.
-
(Coming soon) A unified interface for interacting with software-defined radios, including USRP, BladeRF, PlutoSDR, RTL-SDR, HackRF, and thinkRF.
-
(Coming soon) Basic model training and testing utilities.
💡 Want More RIA?
-
RIA Toolkit: The full, unthrottled set of tools for developing, testing, and deploying radio intelligence applications.
-
RIA Hub: Wield the RIA Hub Toolkit plus purpose-built automations directly in your browser, without the need to write code or setup infrastructure. Additionally, unlock access to Qoherent's rich IP library as well as community projects.
-
RIA RAN: Radio intelligence solutions engineered to seamlessly integrate with existing RAN environments, including ORAN-compliant networks.
🚀 Getting started
RIA Hub Toolkit OSS can be installed either as a standard Python package or as a Conda package.
Installation with Conda (recommended)
RIA Toolkit OSS is available is available as a Conda packages on the RIA Hub Conda Package Registry.
RIA Toolkit OSS can be installed into any Conda environment. However, it is recommended to install within the base environment of Radioconda, which includes GNU Radio and several pre-configured libraries for common SDR devices. Detailed instructions for installing and setting up Radioconda are available in the project README.
Please follow the steps below to install RIA Toolkit OSS using Conda:
- Before installing RIA Toolkit OSS into your Radioconda environment, update the Conda package manager:
conda update --force conda
This ensures that the Conda package manager is fully up-to-date, allowing new or updated packages to be installed into the base environment without conflicts.
- Add the RIA Hub Conda Package Registry to your Conda channel configuration:
conda config --add channels https://raihub.ai/api/packages/qoherent/conda --prepend
- Activate your base Radioconda environment and install RIA Toolkit OSS:
conda activate base
conda install ria-toolkit-oss
- Verify the installation
After installing RIA Toolkit OSS, confirm that it was successfully installed by running:
conda list
You should see a line for ria-toolkit-oss
with the source listed as the RIA Hub Conda Package Registry, for example:
ria-toolkit-oss <version> <build> https://riahub.ai/api/packages/qoherent/conda
The <version>
and <build>
may differ depending on the release you installed.
Installation with Pip
RIA Toolkit OSS is available as a standard Python package on both the RIA Hub PyPI Package Registry and PyPI.
These packages can be installed into a standard Python virtual environment using Pip. Additional information on Python virtual environments can be found here: W3Schools: Python Virtual Environment.
Please follow the steps below to install RIA Toolkit OSS using Pip:
- Create and activate a Python virtual environment:
python3 -m venv venv
source venv/bin/activate
Windows (Command Prompt)
python -m venv venv
venv\Scripts\activate
- Install RIA Toolkit OSS from PyPI with Pip:
pip install ria-toolkit-oss
While RIA Toolkit OSS can also be installed from the RIA Hub PyPI Package Registry, RIA Hub does not yet support a proxy or cache for public packages. We intend to add this missing functionality to RIA Hub soon. In the meantime, you need to use the --no-deps
option with pip to skip automatic dependency installation, and then manually install each dependency afterward.
Installation from source
Finally, RIA Toolkit OSS can be installed directly from the source code. This approach is only recommended if you require an unpublished or development version of the project. Follow the steps below to install RIA Toolkit OSS from source:
- Clone the repository. For example:
git clone https://riahub.ai/qoherent/ria-toolkit-oss.git
- Navigate into the project directory:
cd ria-toolkit-oss
- Install the package with pip:
pip install .
Basic usage
Once the project is installed, you can import its modules, functions, and classes for use in your Python code. For example, you can use the following import statement to access the Recording
object:
from ria_toolkit_oss.datatypes import Recording
Additional usage information is provided in the project documentation: RIA Toolkit OSS Documentation.
🐛 Issues
Kindly report any issues to the project issues board on RIA Hub: RIA Toolkit OSS Issues Board.
🤝 Contribution
Contributions are always welcome! Whether it's an enhancement, bug fix, or new usage example, your input is valuable. If you'd like to contribute to the project, please reach out to the project maintainers.
If you have a larger project in mind, please contact us directly, we'd love to collaborate with you. 🚀
🖊️ Authorship
RIA Toolkit OSS is developed and maintained by Qoherent, with the invaluable support of many independent contributors.
If you are doing research with RIA Toolkit OSS, please cite the project:
[1] Qoherent Inc., "Radio Intelligence Apps Toolkit OSS," 2025. [Online]. Available: https://riahub.ai/qoherent/ria-toolkit-oss
If you like what we're doing, don't forget to give the project a star! ⭐
📄 License
RIA Toolkit OSS is free and open-source, released under AGPLv3.
Alternative permissive and commercial licensing options are available upon request. Please contact us for further details.
💻 Developer information
This project adheres to Qoherent's Coding Guidelines. We kindly ask you to review them before getting started.
Poetry
To ensure a consistent development environment, this project uses Poetry for dependency management. You can initialize a new Poetry environment by running install
from anywhere within the project:
poetry install
Running install
when a poetry.lock
file is present resolves and installs all dependencies listed in pyproject.toml
, but Poetry uses the exact versions listed in poetry.lock
to ensure that the package versions are consistent for everyone working on your project. Please note that the project itself will be installed in editable mode when running poetry install
.
Unit tests can be run with the following command:
poetry run pytest
Source and wheels archives can be built with the following command:
poetry build
For more information on basic Poetry usage, start here.
Sphinx
Project documentation is auto-generated from project docstrings using Sphinx. Therefore, all importable components require comprehensive docstrings, complete with doctests demonstrating usage.
It's recommended to use sphinx-autobuild
, which eliminates the need to manually rebuild the docs after making changes:
poetry run sphinx-autobuild docs/source docs/build/html
When using sphinx-autobuild
, the docs will automatically be served at http://127.0.0.1:8000.
To build the project documentation manually, navigate to the docs
directory and run the following commands:
poetry run make clean
poetry run make html
Once the documentation is built, you can view it by opening docs/build/html/index.html
in a web browser. Please note that this strategy requires manually rebuilding the documentation to view updates.
For more information on basic Sphinx usage, start here.
tox
This project uses tox
to streamline testing and release. tox runs linting and formatting checks and tests
the package across multiple version of Python.
To run the tests, simply execute:
poetry run tox
For more information on basic tox usage, start here.