NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4282 most downloaded on PyPI
A connector for Bleak Clients that handles transient connection failures
Last release 4 days ago
14 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
4 years old
106 releases · first in 2022
Improve handling of out of esp32 proxy connection slots (#56) (`982b7ae`)
Ensure client is returned when debug is off (#55) (`7ddcac8`)
One column per quarter.
Do not attempt to disconnect non-bluez bledevices (#54) (`54b6c84`)
Add a retry_bluetooth_connection_error decorator (#53) (`8bb706d`)
Update for new bleak 19 (#52) (`9baafa5`)
Bump dbus-fast (#51) (`68167a3`)
Adjust stale comment in freshen_ble_device (#50) (`6cabc1f`)
Set disconnected_callback in the constructor for newer bleak compat (#49) (`e2e25b3`)
Add get_device_by_adapter api (#48) (`238b1f0`)
Republish to fix python-semantic-release detecting the wrong version (#47) (`65f3cf2`)
Republish to fix python-semantic-release detecting the wrong version
(#47,
65f3cf2)
Republish to fix semantic-release detecting the wrong version
(#46,
0338653)
BREAKING CHANGE: remove support for bleak < 0.18.0
Log message when freshen fails (#44) (`8365937`)
Add a guard to freshen_ble_device so it can be called on non-linux (#43) (`4558a67`)
Adjust backoff times to reduce race risk (#40) (`786b442`)
Provide a BLEAK_RETRY_EXCEPTIONS constant (#39) (`55dc2e1`)
Do not disconnect unexpectedly connected devices if bleak supports reusing them (#35) (`be603ce`)
Bleak 0.17 supports connecting to devices that are already connected in BlueZ.
We now detect this and adjust the BLEDevice to point to the already connected device so they do not have to wait for a connection.
This also fixes a race where the connection times out but the connection is actually made on the bus but we think it failed because we hit the timeout, so the next attempt will instead sail right though and be connected.
Revert requirement for newer bleak (#34) (`fe7ec26`)
Bleak 0.17 support (#33) (`ffce2c5`)
Implement a smarter backoff (#32) (`8272daa`)
Race during disconnect when unexpectedly connected (#30) (`2ceef9f`)
Disconnect unexpectedly connected devices on other adapters (#29) (`85a3efe`)
Make get_device and close_stale_connections part of __all__ (#27) (`4d7edfd`)
Disconnect devices that are unexpectedly connected before connecting (#26) (`47b31d3`)
Handle already connected devices with no rssi value (#25) (`0dfd3b0`)
Get_device returning no device when already connected (#24) (`1063b76`)
Add get_device helper to find already connected devices (#23) (`595e6a0`)
Handle Dbus EOFError while connecting (#22) (`b0bc92d`)
Handle stale BLEDevices when an adapter goes offline (#21) (`012c94c`)
Add workaround for when get_services raises (#20) (`1c92f6e`)
Log path to the device (#19) (`6a9f293`)
Add ble_device_callback to get a new BLEDevice between connect attempts (#18) (`450268b`)
Add last known rssi to the debug log (#17) (`1032317`)
Handle device going in and out of range frequently (#16) (`89b8c1b`)
Race during disconnect error (#14) (`dccbbb1`)
Add ble_device_has_changed helper (#13) (`0a23bb8`)
Cached services (#11) (`1fe23d6`)
Rethrow UnknownObject as BleakNotFoundError (#12) (`a07c50e`)
Improve error reporting when there is a poor connection (#10) (`d022777`)
Improve chance of connecting with poor signal (#9) (`f0322e7`)
Handle BrokenPipeError from dbus-next via bleak (#8) (`21da55d`)
Add back the bleak overall safety timeout (#7) (`f3f8ded`)
Pass additional kwargs to the client class (#6) (`808e05b`)
Push a new release now that pypi is working again (#5) (`3480e22`)
### Fix * Add comments (#4) (`4bc5563`)
### Fix * Republish (#3) (`2b1a504`)
### Feature * First release (#2) (`f11f9b5`)
### Chores - Initial commit (`7128f20`) ### Features - Init repo (#1, `ea99576`)
Your coding agent can read these notes before it upgrades. Set up the MCP server →