Skip to main content

An open-source version of the RIA Toolkit, including the fundamental tools to get started developing, testing, and deploying radio intelligence applications

Project description


RIA Toolkit OSS

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

The RIA Hub Toolkit OSS is available on PyPI, Conda Forge and RIA Hub.

  • TODO: Update links once official listings are reserved

Installation from Conda Forge (recommended)

While the RIA Toolkit OSS can be installed into any Conda environment, it is recommended to use RIA Toolkit OSS is within a Radioconda environment, which provides pre-configured packages and libraries required for common SDR devices. Radioconda installation and setup instructions can be found in the project README: radioconda-installer.

Install RIA Toolkit OSS into the base environment:

conda activate base
conda install ria-toolkit-oss

(Coming soon) Install RIA Toolkit OSS from RIA Hub's Conda Package Registry.

Installation from PyPI / RIA Hub

You can also install RIA Toolkit OSS in a standard Python virtual environment using Pip. Addition information on Python virtual environments can be found here: W3Schools: Python Virtual Environment.

  1. 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
  1. Install RIA Toolkit OSS with Pip:
pip install ria-toolkit-oss

RIA Toolkit OSS can also be installed from the RIA Hub Python Index. However, because RIA Hub does not yet support a proxy or cache for public packages, you need to use the --no-deps option with pip to skip automatic dependency installation, and then manually install each dependency afterward.

pip install --index-url https://riahub.ai/api/packages/qoherent/pypi/simple/ ria-toolkit-oss --no-deps

Installation from source

You can also install RIA Toolkit OSS directly from the source code:

  1. Clone the repository. For example:
git clone https://riahub.ai/qoherent/ria-toolkit-oss.git
  1. Navigate into the project directory:
cd ria-toolkit-oss
  1. Install the package:
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.

  • TODO: Link project documentation URL is finalized.

🐛 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ria_toolkit_oss-0.1.0.tar.gz (59.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ria_toolkit_oss-0.1.0-py3-none-any.whl (66.9 kB view details)

Uploaded Python 3

File details

Details for the file ria_toolkit_oss-0.1.0.tar.gz.

File metadata

  • Download URL: ria_toolkit_oss-0.1.0.tar.gz
  • Upload date:
  • Size: 59.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ria_toolkit_oss-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d54544e05944ef89ab2e50058a8b2f2c0f4a1a34198b9e104a0d7103088d0ef
MD5 b9c98adff2092e8eb72b3af07265936f
BLAKE2b-256 3906f54adc705683d9c69f83f11e849474e55f55e0eb9a35ab9be88ee5c87eff

See more details on using hashes here.

File details

Details for the file ria_toolkit_oss-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ria_toolkit_oss-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 09dd72e6a0aff172e0b1aa3d25b620905fe780e76d3f763962ec992b65490e88
MD5 48d0c73272c109f5e965e2f51e85dc60
BLAKE2b-256 33c99e4641979704c30f74bd8e0caa86ea18ed2f3d6f1c8f46a870c1851b03be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page