remoteRF-server 1.0.5__tar.gz → 1.0.6__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.0.5 → remoterf_server-1.0.6}/PKG-INFO +10 -1
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/README.md +9 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/pyproject.toml +1 -1
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/usrp_schema.py +9 -1
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/serverrf_cli.py +5 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/PKG-INFO +10 -1
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_dynamic_v2.py +14 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/setup.cfg +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/grpc_host_pb2.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/grpc_host_pb2_grpc.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/grpc_pb2.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/v2_codec.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/device_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/pluto_mimo_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/pluto_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/v2.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/ansi_codes.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/api_token.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/db_connection.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/db_location.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/list_string.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/process_arg.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/adalm_pluto/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/adalm_pluto/pluto_mimo_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/adalm_pluto/pluto_remote_server.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/adalm_pluto/pluto_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/policy.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/uhd_manifest.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/host/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/host/host_auth_token.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/host/host_directory_store.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/host/host_tunnel_server.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/acc_perms.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/cert_provider.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/device_manager.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/dynamic_v2.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/grpc_server.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/reservation.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/rpc_manager.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/user_group_cli.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/user_group_handler.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/v2_errors.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/tools/__init__.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/tools/gen_certs.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/tools/gist_status.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/tools/gist_status_testing.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/tools/introspect_uhd.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/SOURCES.txt +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/dependency_links.txt +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/entry_points.txt +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/requires.txt +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/top_level.txt +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_cert_provider.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_default_usrp_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_idl_schema.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_pluto_compat.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_process_arg.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_reservation_timestamps.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_rpc_manager_calln.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_usrp_client_server_hardware.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_usrp_client_server_localhost.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_usrp_remoterf_rx_hardware.py +0 -0
- {remoterf_server-1.0.5 → remoterf_server-1.0.6}/tests/test_usrp_uhd410_hardware.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoteRF-server
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.6
|
|
4
4
|
Summary: RemoteRF server-side control package
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -334,6 +334,15 @@ separate policy file. This includes transmit controls, transmit streaming,
|
|
|
334
334
|
GPIO/register methods, and property-tree writes. `usrp_policy.yml` is not read
|
|
335
335
|
or required by the current server.
|
|
336
336
|
|
|
337
|
+
RemoteRF sets `UHD_LOG_CONSOLE_LEVEL=off` before importing UHD so native UHD
|
|
338
|
+
messages do not overwrite the interactive `serverrf` prompt. To temporarily
|
|
339
|
+
restore UHD diagnostics, set a level such as `warning`, `info`, or `debug`
|
|
340
|
+
before starting the server:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
UHD_LOG_CONSOLE_LEVEL=warning serverrf -s
|
|
344
|
+
```
|
|
345
|
+
|
|
337
346
|
On every qualified target, generate the introspection record and enforce the
|
|
338
347
|
pinned API gate:
|
|
339
348
|
|
|
@@ -319,6 +319,15 @@ separate policy file. This includes transmit controls, transmit streaming,
|
|
|
319
319
|
GPIO/register methods, and property-tree writes. `usrp_policy.yml` is not read
|
|
320
320
|
or required by the current server.
|
|
321
321
|
|
|
322
|
+
RemoteRF sets `UHD_LOG_CONSOLE_LEVEL=off` before importing UHD so native UHD
|
|
323
|
+
messages do not overwrite the interactive `serverrf` prompt. To temporarily
|
|
324
|
+
restore UHD diagnostics, set a level such as `warning`, `info`, or `debug`
|
|
325
|
+
before starting the server:
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
UHD_LOG_CONSOLE_LEVEL=warning serverrf -s
|
|
329
|
+
```
|
|
330
|
+
|
|
322
331
|
On every qualified target, generate the introspection record and enforce the
|
|
323
332
|
pinned API gate:
|
|
324
333
|
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/usrp_schema.py
RENAMED
|
@@ -6,6 +6,15 @@ from remoteRF_server.drivers.usrp.uhd_manifest import build_usrp_schema_v2
|
|
|
6
6
|
c = idl_client
|
|
7
7
|
|
|
8
8
|
import itertools
|
|
9
|
+
import os
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _configure_uhd_console_logging():
|
|
13
|
+
"""Keep native UHD logs out of the interactive server console by default."""
|
|
14
|
+
os.environ.setdefault("UHD_LOG_CONSOLE_LEVEL", "off")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
_configure_uhd_console_logging()
|
|
9
18
|
|
|
10
19
|
try:
|
|
11
20
|
import uhd
|
|
@@ -77,7 +86,6 @@ def _connect_usrp(args=None, serial=None, addr=None, **kwargs):
|
|
|
77
86
|
|
|
78
87
|
args = _device_args(args)
|
|
79
88
|
dev = uhd_module.usrp.MultiUSRP(args)
|
|
80
|
-
print(f"Connected to USRP with args={args!r}")
|
|
81
89
|
return dev
|
|
82
90
|
|
|
83
91
|
|
|
@@ -337,6 +337,11 @@ def _serve(*, headless: bool = False) -> int:
|
|
|
337
337
|
if not _ensure_tos_acknowledged():
|
|
338
338
|
return 1
|
|
339
339
|
|
|
340
|
+
# UHD writes native log messages to stderr/std::clog. Set this before the
|
|
341
|
+
# server imports device drivers so those messages cannot corrupt the
|
|
342
|
+
# interactive prompt. An explicit administrator setting still wins.
|
|
343
|
+
os.environ.setdefault("UHD_LOG_CONSOLE_LEVEL", "off")
|
|
344
|
+
|
|
340
345
|
from remoteRF_server.server.grpc_server import (
|
|
341
346
|
headless_main,
|
|
342
347
|
main as interactive_main,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoteRF-server
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.6
|
|
4
4
|
Summary: RemoteRF server-side control package
|
|
5
5
|
Requires-Python: >=3.10
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -334,6 +334,15 @@ separate policy file. This includes transmit controls, transmit streaming,
|
|
|
334
334
|
GPIO/register methods, and property-tree writes. `usrp_policy.yml` is not read
|
|
335
335
|
or required by the current server.
|
|
336
336
|
|
|
337
|
+
RemoteRF sets `UHD_LOG_CONSOLE_LEVEL=off` before importing UHD so native UHD
|
|
338
|
+
messages do not overwrite the interactive `serverrf` prompt. To temporarily
|
|
339
|
+
restore UHD diagnostics, set a level such as `warning`, `info`, or `debug`
|
|
340
|
+
before starting the server:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
UHD_LOG_CONSOLE_LEVEL=warning serverrf -s
|
|
344
|
+
```
|
|
345
|
+
|
|
337
346
|
On every qualified target, generate the introspection record and enforce the
|
|
338
347
|
pinned API gate:
|
|
339
348
|
|
|
@@ -14,6 +14,7 @@ from remoteRF_server.common.grpc import grpc_pb2
|
|
|
14
14
|
from remoteRF_server.common.grpc.v2_codec import decode_value, encode_value
|
|
15
15
|
from remoteRF_server.common.idl.v2 import validate_schema
|
|
16
16
|
from remoteRF_server.drivers.usrp.policy import USRPPolicy
|
|
17
|
+
from remoteRF_server.drivers.usrp.usrp_schema import _configure_uhd_console_logging
|
|
17
18
|
from remoteRF_server.drivers.usrp.uhd_manifest import (
|
|
18
19
|
MULTIUSRP_METHODS,
|
|
19
20
|
TARGET_UHD_VERSION,
|
|
@@ -138,6 +139,19 @@ class FakeInventorySchema:
|
|
|
138
139
|
|
|
139
140
|
|
|
140
141
|
class DynamicV2ServerTests(unittest.TestCase):
|
|
142
|
+
def test_usrp_console_logging_is_off_by_default_but_admin_override_wins(self):
|
|
143
|
+
with patch.dict(os.environ, {}, clear=True):
|
|
144
|
+
_configure_uhd_console_logging()
|
|
145
|
+
self.assertEqual(os.environ["UHD_LOG_CONSOLE_LEVEL"], "off")
|
|
146
|
+
|
|
147
|
+
with patch.dict(
|
|
148
|
+
os.environ,
|
|
149
|
+
{"UHD_LOG_CONSOLE_LEVEL": "warning"},
|
|
150
|
+
clear=True,
|
|
151
|
+
):
|
|
152
|
+
_configure_uhd_console_logging()
|
|
153
|
+
self.assertEqual(os.environ["UHD_LOG_CONSOLE_LEVEL"], "warning")
|
|
154
|
+
|
|
141
155
|
def test_usrp2901_manifest_is_valid_and_has_no_deferred_reachable_api(self):
|
|
142
156
|
schema = build_usrp_schema_v2()
|
|
143
157
|
validate_schema(schema)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/grpc_host_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/grpc/grpc_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/device_schema.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/pluto_mimo_schema.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/idl/pluto_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/__init__.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/ansi_codes.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/api_token.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/db_connection.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/db_location.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/list_string.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/common/utils/process_arg.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/adalm_pluto/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/drivers/usrp/uhd_manifest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/host/host_directory_store.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/host/host_tunnel_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/device_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/user_group_cli.py
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/server/user_group_handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server/tools/gist_status_testing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/src/remoteRF_server.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{remoterf_server-1.0.5 → remoterf_server-1.0.6}/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
|