Skip to main content

MX Remote - Python Client for Pulse-Eight MatrixOS devices

Python 3 library for discovering and controlling Pulse-Eight AV distribution hardware over a local network: video/audio matrices, HDMI-over-IP encoders/decoders, multiviewers, and audio amplifiers. Supports device discovery, video/audio routing, volume control, remote-control key passthrough, HDMI-over-IP streaming, multiviewer control, and more.

If you are looking to integrate Pulse-Eight neo, OneIP, or ProAmp8 devices into your own software or home-automation system, this is the library for it.

Documentation: opdenkamp.github.io/mx-remote

What is MX Remote?

MX Remote is the network protocol these Pulse-Eight devices use to discover and control one another over UDP (multicast or broadcast). All of them run the shared MatrixOS firmware, which speaks this protocol natively. This library is a client implementation of that protocol — its purpose is to expose the devices to third-party software.

Supported devices

All devices below run MatrixOS and are controlled through the same protocol:

  • Pulse-Eight neo — HDBaseT video/audio matrices (neo:4, neo:8, neo:X, and splitters)
  • Pulse-Eight OneIP — HDMI-over-IP units: Transmitter (TX), Receiver (RX), Transceiver (TZ), and Multiviewer
  • Pulse-Eight ProAmp8 — 8-zone audio amplifier with Dolby support

Requirements

  • Python 3.11 or later
  • Network access to one or more of the Pulse-Eight devices above (multicast or broadcast)

Installation

pip install .

Quick Start

The minimum code to discover devices on the network:

import asyncio
import mx_remote

async def main():
    mx = mx_remote.Remote()
    await mx.start_async()

    # wait for devices to be discovered
    await asyncio.sleep(5)

    for uid, device in mx.remotes.items():
        print(f"{device.serial} ({device.name}) - {device.model_name} - {device.status}")
        for port, bay in device.bays.items():
            print(f"  {bay.bay_label} [{bay.mode}] signal={bay.signal_detected}")

    await mx.close()

asyncio.run(main())

Documentation

The guides below are published at opdenkamp.github.io/mx-remote alongside an API reference generated from the docstrings, and are readable here in docs/.

Page Covers
Configuration Opening a connection and keeping it in step with the mesh.
Devices and bays Naming, hiding, EDID and the device registry.
Routing Selecting video and audio sources for an output.
Callbacks Reacting to state changes rather than polling for them.
Audio Volume, mute and remote-control passthrough.
OneIP Streaming endpoints, stream sources and statistics.
Multiviewer Layout, sources and output configuration.
Diagnostics Network status, the mxr console app and capture replay.

Other languages

The same protocol, implemented independently:

Python is the oldest of the three and the one that still decodes what older firmware sent: 0x06, 0x36 and 0x47 are superseded opcodes kept because a unit on older firmware still emits them. So it decodes a slightly wider set than the others, and the difference is deliberate rather than drift.

License

BSD 3-Clause License. See LICENSE for details.

Metadata

Release files for mx-remote 6.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mx-remote 6.0.0
File Size Uploaded
mx_remote-6.0.0.tar.gz 288.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mx-remote 6.0.0
File Interpreter ABI Platform
mx_remote-6.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 556.2 kB

Release files / mx_remote-6.0.0.tar.gz

Download URL mx_remote-6.0.0.tar.gz
Size 288.8 kB
Tags Source
SHA-256 checksum
How to use checksums
28b8f44bd3a800dc54e230b6a086f9dc500245d81fde529f76b0065cad3b8a49
BLAKE2b-256 checksum
How to use checksums
b0b6abc837340d4ddf84e3edfe454a765c917902d1f0aa06f8e99f6277c50d2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / mx_remote-6.0.0-py3-none-any.whl

Download URL mx_remote-6.0.0-py3-none-any.whl
Size 267.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d1e6cc2d9a49bc4acc1c955cdbe285d720f489621a9f123b83d60e83f2894c7d
BLAKE2b-256 checksum
How to use checksums
9b1a9ad470bc40d53733ff0d7addf6d116dae11ff405f786e5926953f1fa7869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

7.0.0

2 release files

6.3.0

2 release files

6.2.0

2 release files

This release

6.0.0 This release

2 release files

5.11.0

2 release files

5.10.0

2 release files

5.9.1

2 release files

5.9.0

2 release files

5.8.0

2 release files

5.7.0

2 release files

5.6.0

2 release files

5.5.1

2 release files

5.5.0

2 release files

5.4.0

2 release files

5.3.0

2 release files

5.2.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.7.9

2 release files

4.7.8

2 release files

4.7.7

2 release files

4.7.6

2 release files

4.7.5

2 release files

4.7.4

2 release files

4.7.3

2 release files

4.7.2

2 release files

4.7.1

1 release file

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page