Metadata-Version: 2.4
Name: muse-driver-framework
Version: 1.0.0
Summary: Shared pure-Python framework for AMX MUSE Script-as-Device drivers
Author: AMX MUSE driver project
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# muse-driver-framework

Shared pure-Python runtime framework for AMX MUSE Script-as-Device programs.

The package contains the transport-independent pieces shared by the Precis
Driver and Meter Validation programs:

- asynchronous TCP connection lifecycle and reconnect handling;
- descriptor control registry and control type inference;
- bounded, latest-only `MeterStream` frame delivery.

It has no third-party runtime dependencies and supports the Python 3.10 runtime
used by current MUSE firmware.

## Runtime use in MUSE

Each Script-as-Device program declares the exact framework version in its own
`requirements.txt`:

```text
muse-driver-framework==1.0.0
```

The program imports the package, never a copied local `driver_framework.py`:

```python
from muse_driver_framework import AsyncTcpDeviceClient, AsyncTcpDeviceManager
```

MUSE must have internet access when it installs the requirements file. Keep
the version exact so a framework release cannot silently change an existing
driver.

## Local verification

Build and install the wheel into an isolated environment before testing a
driver. The driver directories should not contain a local framework copy.
