Metadata-Version: 2.4
Name: remoterf-device-core
Version: 0.1.0
Summary: RemoteRF device protocol, IDL and built-in driver schemas shared by the lab Server and Host
License: GPL-3.0-or-later
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: grpcio<2.0.0,>=1.78.1
Requires-Dist: protobuf<7.0.0,>=6.31.1
Requires-Dist: numpy
Requires-Dist: prompt_toolkit
Provides-Extra: direct
Requires-Dist: aioice<0.11,>=0.10; extra == "direct"
Requires-Dist: aioquic<2.0,>=1.2; extra == "direct"

# remoterf-device-core

The parts of RemoteRF that a lab Server (`remoteRF-server`) and a Host (`remoterf-host`) share, kept as one copy:

- the gRPC protocol (`grpc.proto`, `grpc_host.proto`) and the Dynamic v2 codec;
- the device IDL (`DeviceSchema`, `idl_expose`, `idl_register`) and the schema v2 builder;
- the built-in driver schemas: ADALM-Pluto (incl. PoE), Pluto MIMO, HackRF, RTL-SDR, TI mmWave, USRP and USRP Phaser;
- `schemas.json`, the built-in drivers' schema hashes, and `schema_digest()`, the one hash rule;
- the ICE/QUIC helpers for direct device paths (install with the `direct` extra).

Server and Host pin the same version, so a host running a built-in driver reports exactly the hash its lab knows.

License: GPL-3.0-or-later.
