diff --git a/pyproject.toml b/pyproject.toml index 465a899..13d8ec3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,6 +48,8 @@ dependencies = [ "pandas (>=2.3.2,<3.0.0)", "pyzmq (>=27.1.0,<28.0.0)", "pyyaml (>=6.0.3,<7.0.0)", + "click (>=8.1.0,<9.0.0)", + "matplotlib (>=3.8.0,<4.0.0)" ] # [project.optional-dependencies] Commented out to prevent Tox tests from failing @@ -70,7 +72,7 @@ all-sdr = [ [tool.poetry] packages = [ { include = "ria_toolkit_oss", from = "src" }, - { include = "ria_toolkit_oss_cli", from = "src/ria_toolkit_oss" } + { include = "ria_toolkit_oss_cli", from = "src" } ] include = [ "**/*.so", # Required for Nuitkaification @@ -101,8 +103,8 @@ pylint = "^3.2.6" # For pyreverse, to automate the creation of UML diagrams "Issues Board" = "https://riahub.ai/qoherent/ria-toolkit-oss/issues" [tool.poetry.scripts] -ria = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli" -ria-tools = "ria_toolkit_oss.ria_toolkit_oss_cli.cli:cli" +ria = "ria_toolkit_oss_cli.cli:cli" +ria-tools = "ria_toolkit_oss_cli.cli:cli" [tool.black] line-length = 119 diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/__init__.py b/src/ria_toolkit_oss_cli/__init__.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/__init__.py rename to src/ria_toolkit_oss_cli/__init__.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/cli.py b/src/ria_toolkit_oss_cli/cli.py similarity index 87% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/cli.py rename to src/ria_toolkit_oss_cli/cli.py index 8062f94..bf97dfa 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/cli.py +++ b/src/ria_toolkit_oss_cli/cli.py @@ -4,7 +4,7 @@ This module contains the main group for the ria toolkit oss CLI. import click -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss import commands +from ria_toolkit_oss_cli.ria_toolkit_oss import commands @click.group() diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/__init__.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/__init__.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/__init__.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/__init__.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/capture.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/capture.py similarity index 99% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/capture.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/capture.py index 7e244c5..ed9f338 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/capture.py +++ b/src/ria_toolkit_oss_cli/ria_toolkit_oss/capture.py @@ -240,8 +240,6 @@ def determine_output_format(output, output_format, output_dir): @click.command() -@click.argument("inputs", nargs=-1, required=True, type=click.Path(exists=True)) -@click.argument("output", nargs=1, required=True, type=click.Path()) @click.option( "--device", "-d", diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/combine.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/combine.py similarity index 99% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/combine.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/combine.py index 8fb917b..e8f5e00 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/combine.py +++ b/src/ria_toolkit_oss_cli/ria_toolkit_oss/combine.py @@ -9,7 +9,7 @@ import numpy as np from ria_toolkit_oss.datatypes import Recording from ria_toolkit_oss.io import from_npy_legacy, load_recording -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( +from ria_toolkit_oss_cli.ria_toolkit_oss.common import ( echo_progress, echo_verbose, format_sample_count, diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/commands.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/commands.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/commands.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/commands.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/common.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/common.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/common.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/common.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/config.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/config.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/config.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/config.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/convert.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/convert.py similarity index 99% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/convert.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/convert.py index f245a69..350e7f3 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/convert.py +++ b/src/ria_toolkit_oss_cli/ria_toolkit_oss/convert.py @@ -13,7 +13,7 @@ from ria_toolkit_oss.io.recording import ( to_sigmf, to_wav, ) -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( +from ria_toolkit_oss_cli.ria_toolkit_oss.common import ( check_for_overwriting, detect_file_format, echo_progress, diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/discover.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/discover.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/discover.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/discover.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/generate.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/generate.py similarity index 99% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/generate.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/generate.py index 716332f..df96ba2 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/generate.py +++ b/src/ria_toolkit_oss_cli/ria_toolkit_oss/generate.py @@ -9,7 +9,7 @@ import yaml import ria_toolkit_oss.signal.basic_signal_generator as basic_gen from ria_toolkit_oss.datatypes import Recording -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( +from ria_toolkit_oss_cli.ria_toolkit_oss.common import ( echo_progress, echo_verbose, format_frequency, @@ -17,7 +17,7 @@ from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( parse_metadata_args, save_recording, ) -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.config import load_user_config +from ria_toolkit_oss_cli.ria_toolkit_oss.config import load_user_config from ria_toolkit_oss.signal.block_generator.basic import FrequencyShift from ria_toolkit_oss.signal.block_generator.continuous_modulation.fsk_modulator import ( FSKModulator, diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/init.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/init.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/init.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/init.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/split.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/split.py similarity index 99% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/split.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/split.py index 30c0c95..78bb53b 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/split.py +++ b/src/ria_toolkit_oss_cli/ria_toolkit_oss/split.py @@ -6,7 +6,7 @@ import click import numpy as np from ria_toolkit_oss.io import from_npy_legacy, load_recording -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( +from ria_toolkit_oss_cli.ria_toolkit_oss.common import ( detect_file_format, echo_progress, echo_verbose, diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/transform.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/transform.py similarity index 96% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/transform.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/transform.py index 9cf73d5..9295863 100644 --- a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/transform.py +++ b/src/ria_toolkit_oss_cli/ria_toolkit_oss/transform.py @@ -10,7 +10,7 @@ import click from ria_toolkit_oss.datatypes.recording import Recording from ria_toolkit_oss.io.recording import load_recording -from ria_toolkit_oss.ria_toolkit_oss_cli.ria_toolkit_oss.common import ( +from ria_toolkit_oss_cli.ria_toolkit_oss.common import ( echo_progress, echo_verbose, format_sample_count, @@ -257,24 +257,20 @@ def transform(): Transform supports three categories of operations: - augment: Modify signal to create new ML examples - impair: Degrade signal with noise, distortion, etc. - - apply_channel: Apply channel models (fading, Doppler, etc.) Each operation is applied independently. Chain multiple transforms by running this command multiple times. + Examples:\n \b - Examples: - # List available augmentations - ria_toolkit_oss transform augment --list + # List available augmentations + utils transform augment --list \b - # Apply channel swap - ria_toolkit_oss transform augment channel_swap input.npy + # Apply channel swap + utils transform augment channel_swap input.npy \b - # Apply AWGN impairment - ria_toolkit_oss transform impair awgn input.npy --snr-db 15 - \b - # Apply Rayleigh fading channel - ria_toolkit_oss transform apply_channel rayleigh input.npy --num-paths 5 + # Apply AWGN impairment + utils transform impair awgn input.npy --snr-db 15 """ pass @@ -300,19 +296,19 @@ def augment(augmentation, input, output, list_transforms, help_transform, params # List all augmentations \b - ria_toolkit_oss transform augment --list + ria transform augment --list # Show parameters for an augmentation \b - ria_toolkit_oss transform augment channel_swap --help-transform + ria transform augment channel_swap --help-transform # Apply augmentation \b - ria_toolkit_oss transform augment channel_swap input.npy + ria transform augment channel_swap input.npy # Apply with parameters and save visualization \b - ria_toolkit_oss transform augment drop_samples input.npy --params max_section_size=5 --view + ria transform augment drop_samples input.npy --params max_section_size=5 --view """ available = get_available_transforms(iq_augmentations) diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/transmit.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/transmit.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/transmit.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/transmit.py diff --git a/src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/view.py b/src/ria_toolkit_oss_cli/ria_toolkit_oss/view.py similarity index 100% rename from src/ria_toolkit_oss/ria_toolkit_oss_cli/ria_toolkit_oss/view.py rename to src/ria_toolkit_oss_cli/ria_toolkit_oss/view.py