muse-driver-framework 1.0.0__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.
- muse_driver_framework-1.0.0/PKG-INFO +45 -0
- muse_driver_framework-1.0.0/README.md +37 -0
- muse_driver_framework-1.0.0/muse_driver_framework/__init__.py +25 -0
- muse_driver_framework-1.0.0/muse_driver_framework/driver_framework.py +1442 -0
- muse_driver_framework-1.0.0/muse_driver_framework.egg-info/PKG-INFO +45 -0
- muse_driver_framework-1.0.0/muse_driver_framework.egg-info/SOURCES.txt +8 -0
- muse_driver_framework-1.0.0/muse_driver_framework.egg-info/dependency_links.txt +1 -0
- muse_driver_framework-1.0.0/muse_driver_framework.egg-info/top_level.txt +1 -0
- muse_driver_framework-1.0.0/pyproject.toml +17 -0
- muse_driver_framework-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: muse-driver-framework
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Shared pure-Python framework for AMX MUSE Script-as-Device drivers
|
|
5
|
+
Author: AMX MUSE driver project
|
|
6
|
+
Requires-Python: >=3.9
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
|
|
9
|
+
# muse-driver-framework
|
|
10
|
+
|
|
11
|
+
Shared pure-Python runtime framework for AMX MUSE Script-as-Device programs.
|
|
12
|
+
|
|
13
|
+
The package contains the transport-independent pieces shared by the Precis
|
|
14
|
+
Driver and Meter Validation programs:
|
|
15
|
+
|
|
16
|
+
- asynchronous TCP connection lifecycle and reconnect handling;
|
|
17
|
+
- descriptor control registry and control type inference;
|
|
18
|
+
- bounded, latest-only `MeterStream` frame delivery.
|
|
19
|
+
|
|
20
|
+
It has no third-party runtime dependencies and supports the Python 3.10 runtime
|
|
21
|
+
used by current MUSE firmware.
|
|
22
|
+
|
|
23
|
+
## Runtime use in MUSE
|
|
24
|
+
|
|
25
|
+
Each Script-as-Device program declares the exact framework version in its own
|
|
26
|
+
`requirements.txt`:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
muse-driver-framework==1.0.0
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The program imports the package, never a copied local `driver_framework.py`:
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
from muse_driver_framework import AsyncTcpDeviceClient, AsyncTcpDeviceManager
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
MUSE must have internet access when it installs the requirements file. Keep
|
|
39
|
+
the version exact so a framework release cannot silently change an existing
|
|
40
|
+
driver.
|
|
41
|
+
|
|
42
|
+
## Local verification
|
|
43
|
+
|
|
44
|
+
Build and install the wheel into an isolated environment before testing a
|
|
45
|
+
driver. The driver directories should not contain a local framework copy.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# muse-driver-framework
|
|
2
|
+
|
|
3
|
+
Shared pure-Python runtime framework for AMX MUSE Script-as-Device programs.
|
|
4
|
+
|
|
5
|
+
The package contains the transport-independent pieces shared by the Precis
|
|
6
|
+
Driver and Meter Validation programs:
|
|
7
|
+
|
|
8
|
+
- asynchronous TCP connection lifecycle and reconnect handling;
|
|
9
|
+
- descriptor control registry and control type inference;
|
|
10
|
+
- bounded, latest-only `MeterStream` frame delivery.
|
|
11
|
+
|
|
12
|
+
It has no third-party runtime dependencies and supports the Python 3.10 runtime
|
|
13
|
+
used by current MUSE firmware.
|
|
14
|
+
|
|
15
|
+
## Runtime use in MUSE
|
|
16
|
+
|
|
17
|
+
Each Script-as-Device program declares the exact framework version in its own
|
|
18
|
+
`requirements.txt`:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
muse-driver-framework==1.0.0
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The program imports the package, never a copied local `driver_framework.py`:
|
|
25
|
+
|
|
26
|
+
```python
|
|
27
|
+
from muse_driver_framework import AsyncTcpDeviceClient, AsyncTcpDeviceManager
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
MUSE must have internet access when it installs the requirements file. Keep
|
|
31
|
+
the version exact so a framework release cannot silently change an existing
|
|
32
|
+
driver.
|
|
33
|
+
|
|
34
|
+
## Local verification
|
|
35
|
+
|
|
36
|
+
Build and install the wheel into an isolated environment before testing a
|
|
37
|
+
driver. The driver directories should not contain a local framework copy.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Public API for the shared AMX MUSE driver framework."""
|
|
2
|
+
|
|
3
|
+
from .driver_framework import (
|
|
4
|
+
AsyncTcpDeviceClient,
|
|
5
|
+
AsyncTcpDeviceManager,
|
|
6
|
+
MeterStream,
|
|
7
|
+
ProgramControl,
|
|
8
|
+
ProgramControlRegistry,
|
|
9
|
+
export_control_type_contract,
|
|
10
|
+
infer_control_type,
|
|
11
|
+
meter_route_from_descriptor,
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
__version__ = "1.0.0"
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"AsyncTcpDeviceClient",
|
|
18
|
+
"AsyncTcpDeviceManager",
|
|
19
|
+
"MeterStream",
|
|
20
|
+
"ProgramControl",
|
|
21
|
+
"ProgramControlRegistry",
|
|
22
|
+
"export_control_type_contract",
|
|
23
|
+
"infer_control_type",
|
|
24
|
+
"meter_route_from_descriptor",
|
|
25
|
+
]
|