Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

matter-ble-proxy

Python client library for the OHF Matter Server BLE proxy WebSocket protocol.

The matter-server can run on a host with no BLE adapter and delegate every BLE operation to a separate process or device. This library implements the client side of that protocol so that any Python process with access to a BLE adapter (via Bleak, Home Assistant's bluetooth component, an ESPHome BLE proxy, ...) can act as the BLE bridge.

The protocol is documented in docs/ble-proxy-protocol.md.

Install

pip install matter-ble-proxy

Python 3.12+ required.

Standalone CLI

The package ships a reference CLI mirroring the JS noble-ble-proxy example. Useful for testing the matter-server's /ble endpoint without Home Assistant in the loop.

# Start the matter-server with --ble-proxy in one terminal, then:
matter-ble-proxy --server ws://localhost:5580/ble

The CLI uses Bleak directly against the local OS bluetooth adapter.

Library API

For integrators (Home Assistant, custom add-ons, etc.) wire your own BLE source in by implementing two ABCs:

from matter_ble_proxy import (
    AdvertisementData,
    BleDeviceResolver,
    BleScanSource,
    MatterBleProxy,
)

class MyScanSource(BleScanSource):
    async def start(self, callback): ...    # call `callback(AdvertisementData(...))`
    async def stop(self): ...

class MyDeviceResolver(BleDeviceResolver):
    async def resolve(self, address): ...   # return a bleak.BLEDevice / address / None

proxy = MatterBleProxy(
    ws_url="ws://localhost:5580/ble",
    scan_source=MyScanSource(),
    device_resolver=MyDeviceResolver(),
)
await proxy.connect()
await proxy.run_until_closed()
await proxy.disconnect()

The default Bleak-backed implementations (BleakScanSource, BleakDeviceResolver) live in matter_ble_proxy.bleak_backend.

Reconnection

MatterBleProxy does not reconnect on its own. When the WebSocket closes — server restart, network blip, or the caller calling disconnect() — run_until_closed() returns after the library releases all BLE resources (active scan stopped, every peripheral disconnected). The caller decides whether to reconnect:

  • The bundled CLI exits on disconnect; restart it manually.
  • Home Assistant ties the BLE proxy lifecycle to the matter-server WebSocket: when HA reconnects to the matter-server it constructs and connects a fresh MatterBleProxy for the new session.
  • A custom integration can wrap connect() + run_until_closed() in a retry loop with whatever backoff and cancellation policy fits its supervisor.

The library deliberately stays out of this decision so it can plug into hosts that already own reconnect logic (HA, systemd, etc.) without fighting them.

Development

This package lives inside the matter-js/matterjs-server repo and shares its release pipeline. From the repo root:

npm run python-ble-proxy:install      # create venv + install editable + test deps
npm run python-ble-proxy:lint         # ruff
npm run python-ble-proxy:typecheck    # mypy
npm run python-ble-proxy:test         # pytest
npm run python-ble-proxy:build        # build sdist+wheel

Metadata

Release files for matter-ble-proxy 1.4.1a9.dev20261005

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

Source distribution (sdist)

Source distribution for matter-ble-proxy 1.4.1a9.dev20261005
File Size Uploaded
matter_ble_proxy-1.4.1a9.dev20261005.tar.gz 21.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for matter-ble-proxy 1.4.1a9.dev20261005
File Interpreter ABI Platform
matter_ble_proxy-1.4.1a9.dev20261005-py3-none-any.whl Python 3 none any Details

Total release size: 38.5 kB

Release files / matter_ble_proxy-1.4.1a9.dev20261005.tar.gz

Download URL matter_ble_proxy-1.4.1a9.dev20261005.tar.gz
Size 21.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a9e9527472caa13aba30db50f7ed67d8eccb303301707ac92a0d2d821cbaff46
BLAKE2b-256 checksum
How to use checksums
2286663f64866e7feed6e214a5901af6a63762fbd949128b692b942652fcd31c
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 Oct 5, 2026.

Transparency log

Release files / matter_ble_proxy-1.4.1a9.dev20261005-py3-none-any.whl

Download URL matter_ble_proxy-1.4.1a9.dev20261005-py3-none-any.whl
Size 17.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0cbab4ad12e0e6726846bc3c0ee4064144ea4c96523a6a4c0dfb4b45cc72481e
BLAKE2b-256 checksum
How to use checksums
b7f682b93c2472a943eb6dc2f93aab03e7809469aba0cc7d16ebe204f1c050a8
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 Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.8.0

2 release files

0.7.1

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