RemoteRF 2.6.0__tar.gz → 2.6.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {remoterf-2.6.0/src/remoterf.egg-info → remoterf-2.6.1}/PKG-INFO +1 -1
- {remoterf-2.6.0 → remoterf-2.6.1}/pyproject.toml +1 -1
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/app.py +4 -3
- {remoterf-2.6.0 → remoterf-2.6.1/src/remoterf.egg-info}/PKG-INFO +1 -1
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_device_routes.py +1 -1
- {remoterf-2.6.0 → remoterf-2.6.1}/LICENSE +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/README.md +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/setup.cfg +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/setup.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/_remoterf_alias.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/deployment_capabilities.proto +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/deployment_capabilities_pb2.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/deployment_capabilities_pb2_grpc.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/grpc.proto +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/grpc_pb2.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/grpc_pb2_grpc.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/v2_codec.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/tos_notice.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/utils/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/utils/ansi_codes.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/utils/api_token.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/utils/banner.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/utils/list_string.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/utils/process_arg.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/config/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/config/cert_fetcher.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/config/config.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/acc_login.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/availability.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/banner_note.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/direct_path.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/dynamic_v2_transport.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/grpc_acc.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/grpc_client.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/secure_channel.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/core/v2_errors.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/deployment/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/deployment/backend.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/deployment/direct.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/deployment/homes.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/deployment/http.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/deployment/state.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/_virtual.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/adalm_pluto/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/adalm_pluto/adalm_pluto_remote.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/dynamic_device.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/dynamic_v2.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/hackrf/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/hackrf/hackrf_remote.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/rtl_sdr/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/rtl_sdr/rtl_sdr_remote.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/sim_sdr/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/sim_sdr/sim_sdr_remote.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/support/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/support/ti_mmwave.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/support/uhd.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/support/uhd_dsp.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/support/uhd_v2.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/ti_mmwave/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/ti_mmwave/ti_mmwave_remote.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/usrp/__init__.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/usrp/usrp_remote.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/drivers/usrp/usrp_remote.pyi +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/remoterf_cli.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/version.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf.egg-info/SOURCES.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf.egg-info/dependency_links.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf.egg-info/entry_points.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf.egg-info/requires.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf.egg-info/top_level.txt +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_banner.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_batch.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_bundled_drivers.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_cli_login_fresh.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_config_address.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_deployment_accounts.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_devices_api.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_direct_path_fixed.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_direct_path_global.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_direct_path_partner.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_direct_path_race.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_dynamic_device_codegen.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_dynamic_v2.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_federated_devices.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_fetch_idl_fallback.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_finish_prompt.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_gate_i_direct_path.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_grpc_client_target.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_homes.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_native_account_credentials.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_native_devices.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_old_import_name.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_partner_dynamic_v2.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_pluto_virtual.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_process_arg.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_relay_paging.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_remoterf_cli.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_rx_readahead.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_ti_mmwave.py +0 -0
- {remoterf-2.6.0 → remoterf-2.6.1}/tests/test_upgrade_rescue.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoterf
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.1
|
|
4
4
|
Summary: A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.
|
|
5
5
|
Author-email: Ethan Ge <ethoGalaxy@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "remoterf"
|
|
7
|
-
version = "2.6.
|
|
7
|
+
version = "2.6.1"
|
|
8
8
|
description = "A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "GPL-3.0-or-later"
|
|
@@ -567,7 +567,7 @@ def _federated_devices():
|
|
|
567
567
|
deployment = dev["deployment_name"]
|
|
568
568
|
printf(f" @{deployment}", (Sty.BOLD, Sty.MAGENTA))
|
|
569
569
|
state = "online" if dev["online"] else "offline"
|
|
570
|
-
printf("
|
|
570
|
+
printf(f" ({state}) ", Sty.GREEN if dev["online"] else Sty.GRAY, f"{dev['display_name']}{_handle_tag(dev)}", Sty.DEFAULT)
|
|
571
571
|
if data.get("incomplete"):
|
|
572
572
|
printf(f"{data['omitted_count']} more deployment(s) were not queried.", Sty.WARNING)
|
|
573
573
|
return data
|
|
@@ -939,8 +939,9 @@ def _print_native_devices(rows, *, numbered=False):
|
|
|
939
939
|
lab = row["lab"]
|
|
940
940
|
printf(f" @{lab}", (Sty.BOLD, Sty.MAGENTA))
|
|
941
941
|
prefix = (f"{index}. ", Sty.CYAN) if numbered else ()
|
|
942
|
-
|
|
943
|
-
|
|
942
|
+
state = row["state"] or ""
|
|
943
|
+
printf(*prefix, (" " if not numbered else "") + (f"({state}) " if state else ""),
|
|
944
|
+
Sty.GREEN if state.startswith("online") else Sty.GRAY, row["name"], Sty.DEFAULT)
|
|
944
945
|
|
|
945
946
|
|
|
946
947
|
def devices():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoterf
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.1
|
|
4
4
|
Summary: A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.
|
|
5
5
|
Author-email: Ethan Ge <ethoGalaxy@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -618,7 +618,7 @@ def test_resdev_n_lists_numbered_devices(monkeypatch):
|
|
|
618
618
|
lines = _shown(monkeypatch, client_app)
|
|
619
619
|
account, _ = _native_shell(monkeypatch, client_app, ["1", "2026-01-01 10:00", "2026-01-01 11:00"])
|
|
620
620
|
client_app.reserve()
|
|
621
|
-
assert "1.
|
|
621
|
+
assert "1. (online) Pluto SDR (OTA) [PlutoA]" in lines
|
|
622
622
|
assert _row(lines, "Device", "handle", "PlutoA@ucla")
|
|
623
623
|
assert account.reserve_device.call_args.args[0] == 3
|
|
624
624
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf-2.6.0 → remoterf-2.6.1}/src/remoterf/common/grpc/deployment_capabilities_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|