NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3272 most downloaded on PyPI
Bluetooth Low Energy platform Agnostic Klient
Last release 5 months ago
02 May 2026
Release timing varies
gaps range from 4 weeks to 9 months
Nearly every release is documented
notes for 60 of 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
60 releases · first in 2018
Changed default value of BlueZNotifyArgs.use_start_notify to True . Fixes #1951 .
BlueZNotifyArgs.use_start_notify to True. Fixes #1951.Fixed AttributeError in start_notify() and stop_notify() on Android. Fixes #1834 .
AttributeError in start_notify() and stop_notify() on Android. Fixes #1834.One column per quarter.
There are only some small breaking changes, so hopefully most users can upgrade without any changes.
There are only some small breaking changes, so hopefully most users can upgrade without any changes.
The exception is if your project is handling OS-specific exceptions on the GATT read and write methods. These exceptions are now wrapped in BleakGATTProtocolError to have a consistent cross-platform exception. If you need to support multiple versions of Bleak, you can catch both exceptions.
For example, if you caught BleakDBusError and parsed the string to get the GATT error, you can now catch BleakGATTProtocolError instead and it has a code property to get the actual error code.
Another change of note is the deprecation of the adapter keyword argument. We know there are lots of users of this, so we intend to have a long deprecation cycle for this (several years). If you need to support multiple versions of Bleak, you can pass both the old kwarg adapter="hci0" and the new bluez={"adapter": "hci0"} and optionally suppress the deprecation warning. Otherwise, you can just replace the old arg with the new arg as seen in the previous example.
adapter attribute to bleak.args.bluez.BlueZClientArgs and bleak.args.bluez.BlueZScannerArgs.bluez keyword argument to BleakClient.bleak.args.bluez.BlueZClientArgs class.bleak.exc.BleakGATTProtocolError and bleak.exc.BleakGATTProtocolErrorCode classes.use_cached kwarg for read_gatt_char() and read_gatt_descriptor() methods in BleakClient."use_cached" kwarg to read_gatt_char() and read_gatt_descriptor() methods in BlueZ backend.adapter keyword argument in BleakScanner and BleakClient.BleakGATTProtocolError when a GATT protocol error occurs.isScanning property is not checked anymore.BleakClient.write_gatt_descriptor() to raise ValueError when attempting to write to the descriptor 0x2902 (Client Characteristic Configuration Descriptor, CCCD). Use start_notify() and stop_notify() instead.EOFError when disconnecting in BlueZ backend. Fixes #1921.BleakScanner.__aexit__().device keyword argument from BleakScannerBlueZDBus and BleakClientBlueZDBus.Changed default connect timeout for BleakClient from 10 to 30 seconds.
BleakClient from 10 to 30 seconds.BleakError: Could not get GATT services: Unreachable in WinRT backend by adding a retry when getting GATT services.Added bluez parameter to BleakClient.start_notify() to allow forcing using "StartNotify" instead of "AcquireNotify" on BlueZ backend. Fixes #1885 .
bluez parameter to BleakClient.start_notify() to allow forcing using "StartNotify" instead of "AcquireNotify" on BlueZ backend. Fixes #1885.bleak.args.SizedBuffer type for better type hinting of buffer protocol parameters.logging.debug() in WinRT backend. Fixes #1882.logging.warning() in BlueZ backend.Added bleak.backends.get_default_backend() and BleakBackend enum for a centralized backend detection.
bleak.backends.get_default_backend() and BleakBackend enum for a centralized backend detection.BleakClient().backend_id and BleakScanner().backend_id properties to identify the backend in use."AcquireNotify" rather than "StartNotify" for Linux backend on supported characteristicsdisconnect() on Windows to align behavior over all backends.BleakBluetoothNotAvailableError when Bluetooth is not supported, turned off or permission is denied.Fixed D-Bus connection leak on connection failure in BlueZ backend.
Added support for Pythonista iOS app backend.
BleakClient.name property for getting the peripheral's name. Fixes #1802.BleakClient.connect() on Android when service characteristics have descriptors. Fixes #1803.Added deprecation warnings for importing bleak.args.* types from bleak.backends.* .
bleak.args.* types from bleak.backends.*.**kwargs in BLEDevice() constructor. Fixes #1783.OrPattern from bleak.backends.bluezdbus.advertisement_monitor.Deprecated protection_level kwarg for pairing in WinRT backend. Merged #1770 .
pair parameter to BleakClient() constructor to allow pairing before connecting. Fixes #309.notification_discriminator parameter to start_notify() on CoreBluetooth backend. Merged #1742.response argument of class BleakClient.write_gatt_char() explicitly optional. Fixes #1730.>=2.0. Merged #1718.BLEAK_LOGGING is enabled. Merged #1709.winrt backend to use PyWinRT >= 3.1.connect(), disconnect(), pair() and unpair() methods to None.bleak.args sub-package.BLEDevice.name will now return None instead of the address when the name is not available. Merged #1762.protection_level kwarg for pairing in WinRT backend. Merged #1770.KeyError when getting services in BlueZ backend. Fixes #1435.Don't change ctypes' global state bleak.backends.winrt.util.
bleak.backends.winrt.util.Retrieve the BLE address required by BleakClientWinRT from scan response if advertising is None (WinRT).
BleakClientWinRT from scan response if advertising is None (WinRT).adv attribute of bleak.backends.winrt.scanner._RawAdvData.BleakGATTCharacteristic.max_write_without_response_size is now dynamic.discovered_devices_and_advertisement_data returning devices that should
be filtered out by service UUIDs. Fixes #1576.Descriptor None was not found! exception occurring in start_notify() on Android. Fixes #823.BleakScanner while running in a Windows GUI app.Added bleak.backends.winrt.util.allow_sta() method to allow integration with graphical user interfaces on Windows. Fixes #1565.
bleak.backends.winrt.util.allow_sta() method to allow integration
with graphical user interfaces on Windows. Fixes #1565.Added BleakCharacteristicNotFoundError which is raised if a device does not support a characteristic.
BleakCharacteristicNotFoundError which is raised if a device does not support a characteristic.pywin32 setting threading model to STA on Windows.BlueZManager to remove empty interfaces from _properties during InterfacesRemoved message.Unpack[ExtraArgs] that were intended to be optional. Fixes #1487.KeyError in BlueZ is_connected() and get_global_bluez_manager() when device is not present. Fixes #1507._wait_removed completion on invalid object path. Fixes #1489.use_bdaddr. Fixes #1523.tx_power in Android backend. Fixes #1532.BleakClient.*_gatt_char methods. Fixes #1498.Changed dbus-fast dependency to include v2.x. Fixes #1412.
dbus-fast dependency to include v2.x. Fixes #1412.Added bleak.uuids.normalize_uuid_16() function.
bleak.uuids.normalize_uuid_16() function.bleak.uuids.normalize_uuid_32() function.advertisement_data() async iterator method to BleakScanner. Merged #1361.BleakScanner class methods.response argument in BleakClient.write_gatt_char.
Fixes #909.BlueZManager methods to raise BleakError when device is not in BlueZ.collections.abc.Buffer.BaseBleakScanner detection callback._stopped_handler() in WinRT backend. Fixes #1330."InterfaceRemoved" when getting services in BlueZ backend.Fixed org.bluez.Error.InProgress in characteristic and descriptor read and write methods in BlueZ backend.
org.bluez.Error.InProgress in characteristic and descriptor read and
write methods in BlueZ backend.OSError: [WinError -2147483629] The object has been closed when
connecting on Windows. Fixes #1280.Fixed possible garbage collection of running async callback from BleakClient.start_notify().
BleakClient.start_notify().BleakScanner(detection_callback=).Deprecated BLEDevice.rssi and BLEDevice.metadata. Fixes #1025.
BLEAK_DBUS_AUTH_UID environment variable for hardcoding D-Bus UID. Merged #1182.None to some scanner methods.BleakScanner.find_device_by_name() class method.bleak.uuids.normalize_uuid_str() function.services argument to BleakClient() to filter services. Merged #654.le-connection-abort-by-local in BlueZ backend. Fixes #1220.async-timeout dependency on Python >= 3.11.BLEDevice.rssi and BLEDevice.metadata. Fixes #1025.BLEDevice now uses __slots__ to reduce memory usage. Merged #1117.BaseBleakClient.services is now None instead of empty service collection
until services are discovered.BLEAK_LOGGING output. Merged #1144.uuids.uuid16_dict.AttributeError in _ensure_success in WinRT backend.BleakScanner.stop() can raise BleakDBusError with org.bluez.Error.NotReady in BlueZ backend.BleakScanner.stop() hanging in WinRT backend when Bluetooth is disabled.get_services() is cancelled in WinRT backend.detection_callback when a device does
not send a scan response. Fixes #1211.BLEDevice name sometimes incorrectly None.CentralManagerDelegate destructor on macOS. Fixes #1219.disconnected_callback is not BleakClient. Fixes #1200.Fixed more issues with getting services in WinRT backend.
Fixed TypeError in WinRT backend introduced in v0.19.3.
TypeError in WinRT backend introduced in v0.19.3.Fixed TimeoutError when connecting to certain devices with WinRT backend. Fixes #604.
TimeoutError when connecting to certain devices with WinRT backend. Fixes #604.Fixed crash when getting services in WinRT backend in Python 3.11. Fixes #1112.
KeyError crash in BlueZ backend when removing non-existent property. Fixes #1107.Fixed crash in Android backend introduced in v0.19.0. Fixes #1085.
AttributeError crash when scanning on Windows builds < 19041. Fixes #1094.Added support for Python 3.11. Merged #990.
BleakDeviceNotFoundError which should is raised if a device can not
be found by connect, pair and unpair. Merged #1022.rssi attribute to AdvertisementData. Merged #1047.BleakScanner.discovered_devices_and_advertisement_data property. Merged #1047.return_adv argument to BleakScanner.discover method. Merged #1047.BleakClient.unpair() implementation for BlueZ backend. Merged #1067.AdvertisementData to a named tuple. Merged #1047.unpack_variants is now provided by dbus-fast. Merged #1055.max_pdu_size_changed_handler in WinRT backend. Fixes #1039.WinError -2147483629. Fixes #1061.Removed bleak.__version__. Use importlib.metadata.version('bleak') instead.
Reverted unintentional breaking parameter name changes. Fixes #1028.
Deprecated BleakScanner.register_detection_callback().
async-timeout dependency version to support different installations. Merged #1009.BleakClient.unpair() in WinRT backend can be called without being connected first. Merged #1012.BleakScanner and BleakClient are now concrete classes. Fixes #582.BleakScanner.register_detection_callback().BleakScanner.set_scanning_filter().BleakClient.set_disconnected_callback().BleakClient.get_services().BleakClient.start_notify().int to BleakGattCharacteristic. Fixes #759.tx_power not included in AdvertisementData.__repr__ when 0. Merged #1017.Added deprecation warning to discover() method. Merged #1005.
AdvertisementData class now has an attribute tx_power. Merged #987.BleakClient methods now raise BleakError if called when not connected in WinRT backend. Merged #973.dbus-fast package instead of dbus-next which significantly improves performance. Merged #988.discover() method. Merged #1005.AttributeError when enabling notifications for battery service in BlueZ backend. Merged #976.properties and descriptors properties of BleakGATTCharacteristic. Merged #989.GetManagedObjects returns in BlueZ backend. Fixes #996.max_pdu_size_changed_handler in WinRT backend. Fixes #998.BLEDeviceCoreBluetooth type from CoreBluetooth backend. Merged #977.Added BleakGattCharacteristic.max_write_without_response_size property. Fixes #738.
BleakGattCharacteristic.max_write_without_response_size property. Fixes #738.BleakScanner.discovered_devices. Fixes #942.BlueZManager.get_services(). Fixes #927.BleakScanner detection callbacks on BlueZ backend. Merged #964.The global BlueZ manager now disconnects correctly on exception. Merged #918.
Failed to cancel connection. Merged #919.The global BlueZ manager now disconnects correctly on exception. Merged #918.
Handle the race in the BlueZ D-Bus backend where the device disconnects during the connection process which presented as Failed to cancel connection. Merged #919.
Ensure the BlueZ D-Bus scanner can reconnect after DBus disconnection. Merged #920.
Adjust default timeout for read_gatt_char() with CoreBluetooth to 20s. Fixes #926.
Added PendingDeprecationWarning to use of address_type as keyword argument. It will be moved into the winrt keyword instead according to #623.
assigned_numbers module and AdvertisementDataType enum.bluez kwarg to BleakScanner in BlueZ backend.PendingDeprecationWarning to use of address_type as keyword argument. It will be moved into the
winrt keyword instead according to #623.py.typed file so mypy discovers Bleak's type annotations.asyncio.get_event_loop() in Android backend.read_gatt_char() with CoreBluetooth to 10s. Merged #891.BleakScanner() args detection_callback and service_uuids are no longer keyword-only.BleakScanner() arg scanning_mode is no longer Windows-only and is no longer keyword-only.BleakScanner() instances in BlueZ backend now use common D-Bus object manager.filters kwarg in BleakScanner in BlueZ backend.BleakScanner scans or BleakClient is connected. Fixes #500.BleakClient in BlueZ backend. Fixes #882.Suppress macOS 12 scanner bug error message for macOS 12.3 and higher. Fixes #720.
Discoverable and Pattern to BlueZ D-Bus scanner. Fixes #790.bytearray on BlueZ >= 5.48. Fixes #750._disconnect_futures in CentralManagerDelegate._disconnect_callbacks on disconnect in CentralManagerDelegate.Updated bleak-winrt dependency to v1.1.1. Fixes #741.
bleak-winrt dependency to v1.1.1. Fixes #741.name is 'Unknown' in WinRT backend. Fixes #736.Fixed AttributeError when passing BLEDevice to BleakClient constructor on WinRT backend. Fixes #731.
AttributeError when passing BLEDevice to BleakClient constructor on WinRT backend. Fixes #731.Added service_uuids kwarg to BleakScanner. This can be used to work around issue of scanning not working on macOS 12. Fixes #230. Works around #635.
service_uuids kwarg to BleakScanner. This can be used to work
around issue of scanning not working on macOS 12. Fixes #230. Works around #635.bleak-winrt dependency to v1.1.0. Fixes #698.InvalidStateError in CoreBluetooth backend when read and notification
of the same characteristic are used. Fixes #675.Replaced usage of deprecated @abc.abstractproperty.
get_service() and get_characteristic().register_uuids() to augment the uuid-to-description mapping.force_indicate keyword argument for WinRT backend client's start_notify method. Fixes #526.winrt dependency to bleak-winrt.asyncio.run().Indicate to Notify.@abc.abstractproperty.asyncio.get_running_loop() instead of asyncio.get_event_loop().dotnet backend.use_cached kwarg from BleakClient connect() and get_services() methods. Fixes #646.find_device_by_address() function.adapter kwarg. Fixes #607.disconnect() method. Fixes #641.This is a minor bug fix release.
This is a minor bug fix release.
winrt package version to 1.0.21033.1. Fixes #589.Deprecated BleakScanner.get_discovered_devices() async method.
mtu_size property for clients.BleakScanner.discovered_devices property.BleakScanner.find_device_by_filter static method.scanner_byname.py example.Programming Language :: Python :: 3.9 classifier in setup.py.BleakScanner.get_discovered_devices() async method.BleakScanner.BleakDBusError is converted to string.Union[bytes, bytearray, memoryview].get_rssi() on CoreBluetooth backend.@objc.python_method where possible in PeripheralDelegate class.BleakScanner.start() and stop()
in CoreBluetooth backend.KeyError when trying to connect to BLEDevice from advertising
data callback on macOS. Fixes #448.connect_by_bledevice.py example. Fixes #487.Optional typehint for BleakScanner.find_device_by_address.linux_autodoc_mock_import in docs/conf.py.BleakClientBlueZDBus.pair() method always returning True. Fixes #503.value should be bytearray on CoreBluetooth. Fixes #560.BleakScanner on
CoreBluetooth backend.BleakScanner.stop() when already
stopped in CoreBluetooth backend.Updated dotnet.client.BleakClientDotNet connect method docstring.
dotnet.client.BleakClientDotNet connect method docstring.AdvertisementServiceData in BLEDevice in macOS devicesget_services method on BleakClient.use_cached on .NET backend, to enable uncached reading
of services, characteristics and descriptors in Windows.handle property on BleakGATTService objectsservice_handle property on BleakGATTCharacteristic objectsBleakGATTServiceCollection properties.asyncio task to disconnect devices on event loop crash in BlueZ backend.org.bluez.Adapter1.ConnectDevice when trying to connect
a device in BlueZ backend.write_gatt_descriptor() in Windows
backend. Merged #403.BaseBleakClient.services_resolved not reset on disconnect on BlueZ
backend. Merged #401.BLEDevice. Fixes #371.BleakClientBlueZDBus.handle abstract property to BleakGATTService
and storing the services by handle instead of UUID.BleakScanner.set_scanning_filter() from async method to normal method.dbus-next instead of txdbus.BleakClient.is_connected from async method to property.__str__ methods from backend service, characteristic and descriptor implementations
in favour of those in the abstract base classes.Added AdvertisementData class used with detection callbacks across all supported platforms. Merged #334.
AdvertisementData class used with detection callbacks across all supported platforms. Merged #334.BleakError raised during import on unsupported platforms.rssi parameter to BLEDevice constructor.detection_callback kwarg to BleakScanner constructor.BleakScanner.register_detection_callback(). All platforms now take callback with BLEDevice and AdvertisementData arguments.BleakScanner.find_device_by_address() implementations.device kwarg to adapter in BleakClient and BleakScanner. Fixes #381.BleakClientBlueZDBus.start_notify() misses initial notifications with fast Bluetooth devices. Fixed #374.BleakScanner.discover() on older versions of macOS. Fixes #331.BleakClient.is_connected() on Mac before connection.BleakScanner.find_device_by_address() in BlueZ backend. Fixes #360.BLEDevice in BlueZ backend.discover method.Minor patch version, fixing some regressions introduced in 0.9.0 and fixing some new bugs.
Minor patch version, fixing some regressions introduced in 0.9.0 and fixing some new bugs.
_device_info on BleakClientBlueZDBus. Merges #346.AUTHORS.rst file with development team.BLEDevice.metadata in CoreBluetooth backend. Fixes #342.Timeout for BlueZ backend connect call to avoid potential infinite hanging. Merged #306.
BleakBridge imports.BleakCharacteristic.description() on .NET now returns the same value as other platforms.+=/-= syntax to calling add_ and remove_ methods instead. This allows for proper removal of event handlers in .NET backend.BleakBridge is now removed. It is only imported to allow for access to UWP namespaces._start_notify in the .NET backend.GattSession object now manages lifetime of .NET BleakClient connection.BleakClient in .NET backend will reuse previous device information when reconnecting so that it doesn't have to scan/discover again.BleakGATTService.get_characteristic() method overridden with NotImplementedError in BlueZ backend.AttributeError when trying to connect using CoreBluetooth backend. Merged #323.BleakClient.disconnect() method failing when called multiple times in .NET backend. Fixes #313.BleakClient.disconnect() method failing when called multiple times in Core Bluetooth backend. Merge #333.is_connected in BlueZ backend. Fixes #310,BleakClient in BlueZ backend. Merge #311.BREAKING CHANGE All notifications now have the characteristic's integer handle instead of its UUID as a string as the first argument sender sent to no…
set_disconnected_callback in the .NET backend BleakClient implementation.find_device_by_address method to the BleakScanner interface, for stopping scanning
when a desired address is found.find_device_by_address in the .NET backend BleakScanner implementation and
switched its BleakClient implementation to use that method in connect.find_device_by_address in the BlueZ backend BleakScanner implementation and
switched its BleakClient implementation to use that method in connect.find_device_by_address in the Core Bluetooth backend BleakScanner implementation
and switched its BleakClient implementation to use that method in connect.BleakClient interface.NotImplementedError on pairing in macOS backend.BLEDevice instead of a string address. This
allows for skipping the discovery call when connecting.sender sent to notification callbacks. This provides the uniqueness of
sender in notifications as well.BleakClient argument address to address_or_ble_device.IDisposable.DataReader and DataWriter.DEBUG level set to bleak logger. Fixes #251.BleakBridge instances each disconnect.connected_peripheral_delegate handling in macOS backend to fix #213 and #116.get_services method in Core Bluetooth backend.is_connected in BlueZ backend to fix #259.set_disconnected_callback on Core Bluetooth. Fixes #276.Core Bluetooth presence check. Merged #280.Improved, more explantory error on BlueZ backend when BleakClient cannot find the desired device when trying to connect.
BleakClient cannot find the desired device when trying to connect. (#238)MANIFEST.in corrected. (#244)Better feedback of communication errors to user in .NET backend and implementing error details proposed in #174.
Scanner implemented.service_explorer.py.discover method.NSRunLoop with dispatch queue in Core Bluetooth backend. This causes callbacks to be dispatched on a background thread instead of on the main dispatch queue on the main thread. call_soon_threadsafe() is used to synchronize the events with the event loop where the central manager was created. Fixes #111.BleakClient and BleakScanner. Fixes #206 and #105.requirements.txt and Pipfile, the requirement on pythonnet was bumped to version 2.5.1, which seems to solve issues described in #217 and #225.HISTORY.rst to CHANGELOG.rst and adopted the Keep a Changelog format.pyobjc dependencies to use at least version 6.2. (PR #194)bump2version to version 1.0.0.pyup.yml for Pyup_central_manager_delegate_ready was removed in macOS backend.bleak.backends.bluez.utils.get_gatt_service_path method. It is not used by
bleak and possibly generates errors.get_device_object_path method. Now, we try to get it from BlueZ first. Otherwise, use the old fallback.CBManagerStatePoweredOn is now properly handled in Core Bluetooth.discoverand Scanner corrected. Fixes #211isScanning boolean on macOS < 10.13. Fixes #234.Release to PyPI via Github Actions
Release to PyPI via Github Actions
Added disconnection_callback functionality for Core Bluetooth (#184 & #186)
Added disconnection_callback functionality for Core Bluetooth (#184 & #186)
Added requirements.txt
Better cleanup of Bluez notifications (#154)
Fix for read_gatt_char in Core Bluetooth (#177)
Fix for is_disconnected in Core Bluetooth (#187 & #185)
Documentation fixes
Including #156, lost notifications on macOS backend, which was accidentally missed on previous release.
Including #156, lost notifications on macOS backend, which was accidentally missed on previous release.
New Scanner object to allow for async device scanning.
New Scanner object to allow for async device scanning.
Updated txdbus requirement to version 1.1.1 (Merged #122)
Implemented write_gatt_descriptor for Bluez backend.
Large change in Bluez backend handling of Twisted reactors. Fixes #143
Modified set_disconnected_callback to actually call the callback as a callback. Fixes #108.
Added another required parameter to disconnect callbacks.
Added Discovery filter option in BlueZ backend (Merged #124)
Merge #138: comments about Bluez version check.
Improved scanning data for macOS backend. Merge #126.
Merges #141, a critical fix for macOS.
Fix for #114, write with response on macOS.
Fix for #87, DIctionary changes size on .NET backend.
Fix for #127, uuid or str on macOS.
Handles str/uuid for characteristics better.
Merge #148, Run .NET backend notifications on event loop instead of main loop.
Merge #146, adapt characteristic write log to account for WriteWithoutResponse on macOS.
Fix for #145, Error in cleanup on Bluez backend.
Fix for #151, only subscribe to BlueZ messages on DBus. Merge #152.
Fix for #142, Merge #144, Improved scanning for macOS backend.
Fix for #155, Merge #156, lost notifications on macOS backend.
Improved type hints
Improved error handling for .NET backend.
Documentation fixes.
Active Scanning on Windows, #99 potentially solving #95
Active Scanning on Windows, #99 potentially solving #95
Longer timeout in service discovery on BlueZ
Added timeout to constructors and connect methods
Fix for get_services on macOS. Relates to #101
Fixes for disconnect callback on BlueZ, #86 and #83
Fixed reading of device name in BlueZ. It is not readable as regular characteristic. #104
Removed logger feedback in BlueZ discovery method.
More verbose exceptions on macOS, #117 and #107
macOS support added (thanks to @kevincar)
macOS support added (thanks to @kevincar)
Merged #90 which fixed #89: Leaking callbacks in BlueZ
Merged #92 which fixed #91, Prevent leaking of DBus connections on discovery
Merged #96: Regex patterns
Merged #86 which fixed #83 and #82
Recovered old .NET discovery method to try for #95
Merged #80: macOS development
* Fix for #76 * Fix for #69 * Fix for #74 * Fix for #68 * Fix for #70 * Merged #66
Fix for #76
Fix for #69
Fix for #74
Fix for #68
Fix for #70
Merged #66
* Fix for missed part of PR #61.
Fix for missed part of PR #61.
Merging of PR #61, improvements and fixes for multiple issues for BlueZ backend
Merging of PR #61, improvements and fixes for multiple issues for BlueZ backend
Implementation of issue #57
Fixing issue #59
Documentation fixes.
Transferred code from the BleakUWPBridge C# support project to pythonnet code
Transferred code from the BleakUWPBridge C# support project to pythonnet code
Fixed BlueZ >= 5.48 issues regarding Battery Service
Fix for issue #55
Fix for issue #53: Windows and Python 3.7 error
Fix for issue #53: Windows and Python 3.7 error
Azure Pipelines used for CI
Fix for issue #52: Timing issue getting characteristics
Fix for issue #52: Timing issue getting characteristics
Additional fix for issue #51.
Bugfix for string method for BLEDevice.
Fix for issue #51: dpkg-query not found on all Linux systems
Fix for issue #51: dpkg-query not found on all Linux systems
Made it compliant with Python 3.5 by removing f-strings
Made it compliant with Python 3.5 by removing f-strings
Working Linux (BlueZ DBus API) backend.
Project added to Github
First version on PyPI.
Working Linux (BlueZ DBus API) backend.
Working Windows (UWP Bluetooth API) backend.
Your coding agent can read these notes before it upgrades. Set up the MCP server →