remoteRF-server 1.4.7__tar.gz → 1.4.9__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_server-1.4.7 → remoterf_server-1.4.9}/PKG-INFO +1 -1
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/pyproject.toml +1 -1
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/global_onboarding.py +8 -5
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/startup_check.py +5 -2
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/user_group_cli.py +3 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/PKG-INFO +1 -1
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_global_onboarding.py +1 -1
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_startup_check.py +11 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/LICENSE +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/README.md +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/setup.cfg +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/deployment_capabilities.proto +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/deployment_capabilities_pb2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/deployment_capabilities_pb2_grpc.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/federation.proto +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/federation_pb2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/federation_pb2_grpc.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc.proto +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_host.proto +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_host_pb2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_pb2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/v2_codec.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/device_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/pluto_mimo_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/pluto_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/v2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/ansi_codes.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/api_token.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/db_connection.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/db_location.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/list_string.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/panel.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/process_arg.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/pluto_diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/pluto_mimo_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/pluto_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/poe.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/bluetooth_diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/gps_diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/hackrf/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/hackrf/hackrf_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/rtl_sdr/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/rtl_sdr/rtl_sdr_diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/rtl_sdr/rtl_sdr_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/ti_mmwave/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/ti_mmwave/ti_mmwave_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/policy.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/profiles.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/uhd_manifest.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/usrp_diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/usrp_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp_phaser/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp_phaser/usrp_phaser_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/host/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/host/host_auth_token.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/host/host_directory_store.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/host/host_tunnel_server.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/acc_perms.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/cert_provider.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/commands.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/console.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/control.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/deployment/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/deployment/capabilities.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/device_manager.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/direct_path.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/dynamic_v2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/dynamic_v2_bridge.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/admin.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/cli.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/cluster.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/contracts.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/destination.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/devices.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/enrollment.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/global_home.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/home.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/home_devices.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/identity.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/legacy_state.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/migrations.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/peers.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/permissions.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/principals.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/runtime.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/trust.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/grpc_server.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/host_dynamic_v2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/reservation.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/rpc_manager.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/user_group_handler.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/v2_errors.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/serverrf_cli.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/tools/__init__.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/tools/gen_certs.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/tools/gist_status.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/tools/gist_status_testing.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/tools/introspect_uhd.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/SOURCES.txt +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/dependency_links.txt +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/entry_points.txt +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/requires.txt +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/top_level.txt +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_account_hardening.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_account_names.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_account_removal.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_activity_log.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_availability.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_bind_host.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_cert_provider.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_client_sessions.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_cluster.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_commands.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_console.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_contrib_drivers.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_default_rtl_sdr_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_default_usrp_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_deployment_capabilities.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_detached_device_rpc.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_device_handles.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_device_init.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_devices_add_wizard.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_devices_list.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_diag.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_direct_fixed_port.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_direct_path_server.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_dynamic_v2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_federated_direct_path.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_federated_dynamic_v2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_federation_edges.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_first_run.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_d_contracts.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_e_federation.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_e_proto.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_f_enrollment.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_g1_logging.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_g_permissions.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_h_devices.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gate_i_direct_path.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_gen_certs.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_global_accounts_migration.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_global_home.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_global_v1_disposal.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_hackrf_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_home_device_plane.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_host_directory_store.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_host_dynamic_v2.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_idl_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_panel.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_peer_transport.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_pluto_compat.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_pluto_poe.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_process_arg.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_reservation_handoff.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_reservation_policy_b.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_reservation_timestamps.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_rpc_manager_batch.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_rpc_manager_calln.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_rpc_manager_rx_n.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_rtl_sdr_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_soak_federation.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_status_push.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_ti_mmwave_hardware.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_ti_mmwave_schema.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_user_group_cli.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_b205mini_uhd410_hardware.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_client_server_hardware.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_client_server_localhost.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_n210_client_server_hardware.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_preload.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_profiles.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_remoterf_rx_hardware.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_uhd410_hardware.py +0 -0
- {remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_wipe.py +0 -0
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/global_onboarding.py
RENAMED
|
@@ -179,14 +179,17 @@ def account_name(username: str) -> str:
|
|
|
179
179
|
def invite(code_name: str, *, lan_only: bool = False) -> str:
|
|
180
180
|
"""What to hand a new user: the form `remoterf --register` accepts.
|
|
181
181
|
|
|
182
|
-
On a live Global deployment that is `<
|
|
183
|
-
client
|
|
182
|
+
On a live Global deployment that is `<deployment>/<code>` (e.g. `ucla/AB12C`),
|
|
183
|
+
which the client expands to `<deployment>.global.remoterf.net` from anywhere;
|
|
184
|
+
a lab on its own domain keeps the full `<hostname>/<code>`. A LAN-only group's code (or
|
|
184
185
|
a deployment that is not on Global) is the bare code, entered after
|
|
185
186
|
`remoterf -c -a <lan address>`.
|
|
186
187
|
"""
|
|
187
|
-
if state() == "active" and not lan_only
|
|
188
|
-
|
|
189
|
-
|
|
188
|
+
host = hostname() if state() == "active" and not lan_only else None
|
|
189
|
+
if not host:
|
|
190
|
+
return code_name
|
|
191
|
+
slug, _, domain = host.partition(".")
|
|
192
|
+
return f"{slug if domain == 'global.remoterf.net' else host}/{code_name}"
|
|
190
193
|
|
|
191
194
|
|
|
192
195
|
# -----------------------------
|
|
@@ -178,8 +178,11 @@ def _wait(display: _Display, fut: Future, until: float, text):
|
|
|
178
178
|
def _new_log(cfg_dir: Path, prefix: str = "startup") -> Path:
|
|
179
179
|
logs = cfg_dir / "logs"
|
|
180
180
|
logs.mkdir(parents=True, exist_ok=True)
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
# A run's .log/.json/.txt share a stem: keep the newest runs whole.
|
|
182
|
+
stems = sorted({path.name.split(".")[0] for path in logs.glob(f"{prefix}-*")})
|
|
183
|
+
for stem in stems[: -(KEEP_LOGS - 1)]:
|
|
184
|
+
for old in logs.glob(f"{stem}.*"):
|
|
185
|
+
old.unlink(missing_ok=True)
|
|
183
186
|
return logs / f"{prefix}-{datetime.now(timezone.utc).strftime('%Y%m%dT%H%M%SZ')}.log"
|
|
184
187
|
|
|
185
188
|
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/user_group_cli.py
RENAMED
|
@@ -187,6 +187,9 @@ def make_user_group_local(session) -> None:
|
|
|
187
187
|
lan_only = not _prompt_yes_no("Reachable from outside your network (via Global)? (Y/n): ", default_no=False)
|
|
188
188
|
|
|
189
189
|
public = not lan_only and _prompt_yes_no("Public: open to anyone on RemoteRF Global? (y/N): ", default_no=True)
|
|
190
|
+
if public:
|
|
191
|
+
public = _prompt_yes_no("Are you sure? Anyone with a RemoteRF Global account, and the users of every lab in the "
|
|
192
|
+
"public cluster, can then see and reserve this group's devices. (Y/n): ", default_no=False)
|
|
190
193
|
partners = [name for name in _clusters_here() if name != "global"] if not lan_only else []
|
|
191
194
|
if partners:
|
|
192
195
|
raw = _prompt_str(f"Also share with partner clusters ({', '.join(partners)}; comma-separated, "
|
|
@@ -708,7 +708,7 @@ class InviteTests(unittest.TestCase):
|
|
|
708
708
|
|
|
709
709
|
def test_live_global_deployment_hands_out_the_full_form(self):
|
|
710
710
|
g.update(GLOBAL_CONSENT="yes", GLOBAL_STATE="active", GLOBAL_FINAL_NAME="ucla-dev0")
|
|
711
|
-
self.assertEqual(g.invite("RERGSOQ5"), "ucla-dev0
|
|
711
|
+
self.assertEqual(g.invite("RERGSOQ5"), "ucla-dev0/RERGSOQ5")
|
|
712
712
|
# LAN-only groups never get a Global invite: it would not work there.
|
|
713
713
|
self.assertEqual(g.invite("RERGSOQ5", lan_only=True), "RERGSOQ5")
|
|
714
714
|
|
|
@@ -207,3 +207,14 @@ def test_tty_spinner_redraws_in_place():
|
|
|
207
207
|
os.close(master)
|
|
208
208
|
assert "\r\x1b[2K" in text and "testing…" in text and "operational" in text
|
|
209
209
|
assert text.index("testing…") < text.rindex("\r\x1b[2K") < text.index("✓")
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def test_diag_reports_rotate_with_their_log(tmp_path):
|
|
213
|
+
logs = tmp_path / "logs"
|
|
214
|
+
logs.mkdir()
|
|
215
|
+
for i in range(12):
|
|
216
|
+
for ext in ("log", "json", "txt"):
|
|
217
|
+
(logs / f"diag-20260101T0000{i:02d}Z.{ext}").write_text("x")
|
|
218
|
+
sc._new_log(tmp_path, prefix="diag")
|
|
219
|
+
stems = {p.name.split(".")[0] for p in logs.glob("diag-*")}
|
|
220
|
+
assert len(stems) == sc.KEEP_LOGS - 1 and len(list(logs.glob("diag-*"))) == 3 * (sc.KEEP_LOGS - 1)
|
|
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_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/federation.proto
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/federation_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_host.proto
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_host_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/device_schema.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/pluto_mimo_schema.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/idl/pluto_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/ansi_codes.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/api_token.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/db_connection.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/db_location.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/list_string.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/common/utils/process_arg.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/adalm_pluto/poe.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/bluetooth_diag.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/hackrf/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/hackrf/hackrf_schema.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/rtl_sdr/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/rtl_sdr/rtl_sdr_diag.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/ti_mmwave/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/profiles.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/uhd_manifest.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/usrp_diag.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp/usrp_schema.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/drivers/usrp_phaser/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/host/host_directory_store.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/host/host_tunnel_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/deployment/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/device_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/dynamic_v2_bridge.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/admin.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/cli.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/cluster.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/contracts.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/destination.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/devices.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/enrollment.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/global_home.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/home.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/identity.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/migrations.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/peers.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/permissions.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/principals.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/runtime.py
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/federation/trust.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/host_dynamic_v2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/server/user_group_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server/tools/gist_status_testing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/src/remoteRF_server.egg-info/entry_points.txt
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
|
{remoterf_server-1.4.7 → remoterf_server-1.4.9}/tests/test_usrp_n210_client_server_hardware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|