2025-08-26 11:47:42 -04:00
[ project ]
name = "ria-toolkit-oss"
2025-10-27 11:50:03 -04:00
version = "0.1.4"
2025-08-26 11:47:42 -04:00
description = "An open-source version of the RIA Toolkit, including the fundamental tools to get started developing, testing, and deploying radio intelligence applications"
license = { text = "AGPL-3.0-only" }
readme = "README.md"
requires-python = ">=3.10"
authors = [
{ name = "Qoherent Inc." , email = "info@qoherent.ai" } ,
]
maintainers = [
{ name = "Benjamin Chinnery" , email = "ben@qoherent.ai" } ,
{ name = "Ashkan Beigi" , email = "ash@qoherent.ai" } ,
M
2025-10-16 15:02:09 -04:00
{ name = "Madrigal Weersink" , email = "madrigal@qoherent.ai" } ,
G
2025-12-09 14:12:11 -05:00
{ name = "Gillian Ford" , email = "gillian@qoherent.ai" }
2025-08-26 11:47:42 -04:00
]
keywords = [
"radio" ,
"rf" ,
"sdr" ,
"software-defined radio" ,
"signal processing" ,
"wireless" ,
"machine learning" ,
"radio intelligence"
]
classifiers = [
"Development Status :: 3 - Alpha" ,
"Programming Language :: Python :: 3" ,
"Intended Audience :: Science/Research" ,
"Intended Audience :: Developers" ,
"License :: OSI Approved :: GNU Affero General Public License v3" ,
"Natural Language :: English" ,
"Operating System :: POSIX :: Linux" ,
"Topic :: Education" ,
"Topic :: Scientific/Engineering" ,
"Topic :: Communications :: Ham Radio" ,
"Topic :: Software Development :: Libraries" ,
"Typing :: Typed"
]
dependencies = [
2025-09-04 12:29:54 -04:00
"numpy (==1.26.4)" , # Pinned at 1.26.4 for compatibility with Radioconda
"scipy (<1.16)" ,
"sigmf (>=1.2.10,<2.0.0)" ,
"quantiphy (>=2.20,<3.0)" ,
"plotly (>=6.3.0,<7.0.0)" ,
"h5py (>=3.14.0,<4.0.0)" ,
2025-09-12 11:32:49 -04:00
"pandas (>=2.3.2,<3.0.0)" ,
2025-09-26 11:57:38 -04:00
"pyzmq (>=27.1.0,<28.0.0)" ,
G
2025-12-11 15:12:01 -05:00
"pyyaml (>=6.0.3,<7.0.0)" ,
2025-08-26 11:47:42 -04:00
]
M
2025-10-17 16:40:58 -04:00
# [project.optional-dependencies] Commented out to prevent Tox tests from failing
# # SDR hardware-specific dependencies (optional installs)
# rtlsdr = ["pyrtlsdr>=0.2.9"]
# pluto = ["pyadi-iio>=0.0.14"]
# usrp = [] # Requires system UHD installation
# hackrf = ["pyhackrf>=0.2.0"]
# bladerf = [] # Requires system libbladerf installation
# thinkrf = ["pyrf>=2.8.0"] # NOTE: Requires lib2to3 post-install fix (see docs/)
A
2025-10-05 11:17:34 -04:00
# All SDR hardware support
all-sdr = [
"pyrtlsdr>=0.2.9" ,
"pyadi-iio>=0.0.14" ,
"pyhackrf>=0.2.0" ,
A
2025-10-05 22:16:46 -04:00
"pyrf>=2.8.0" ,
A
2025-10-05 11:17:34 -04:00
]
2025-08-26 11:47:42 -04:00
[ tool . poetry ]
packages = [
G
2025-12-11 15:12:01 -05:00
{ include = "ria_toolkit_oss" , from = "src" }
2025-08-26 11:47:42 -04:00
]
2025-09-19 14:16:03 -04:00
include = [
"**/*.so" , # Required for Nuitkaification
]
2025-08-26 11:47:42 -04:00
[ build-system ]
requires = [ "poetry-core>=1.0.0" ]
build-backend = "poetry.core.masonry.api"
[ tool . poetry . group . test . dependencies ]
pytest = "^8.0.0"
tox = "^4.19.0"
[ tool . poetry . group . docs . dependencies ]
sphinx = "^7.2.6"
sphinx-rtd-theme = "^2.0.0"
sphinx-autobuild = "^2024.2.4"
[ tool . poetry . group . dev . dependencies ]
flake8 = "^7.1.0"
black = "^24.3.0"
isort = "^5.13.2"
2025-09-19 14:16:03 -04:00
pylint = "^3.2.6" # For pyreverse, to automate the creation of UML diagrams
2025-08-26 11:47:42 -04:00
[ tool . poetry . urls ]
"Qoherent" = "https://qoherent.ai/"
"Source" = "https://riahub.ai/qoherent/ria-toolkit-oss"
"Issues Board" = "https://riahub.ai/qoherent/ria-toolkit-oss/issues"
G
2025-12-09 14:12:11 -05:00
[ tool . poetry . scripts ]
ria = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli"
G
2025-12-09 14:38:49 -05:00
ria-tools = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli"
G
2025-12-09 14:12:11 -05:00
2025-08-26 11:47:42 -04:00
[ tool . black ]
line-length = 119
target-version = [ "py310" ]
exclude = '' '
/ (
\ . git
2025-09-12 15:49:37 -04:00
| \ . riahub
2025-08-26 11:47:42 -04:00
| \ . tox
| build
| dist
| docs
| venv
| \ . venv
| env
| \ . env
| \ . idea
| \ . vscode
2025-09-12 15:49:37 -04:00
| _external
2025-08-26 11:47:42 -04:00
) /
'' '
[ tool . isort ]
profile = "black"