Skip to main content

Bluetooth Low Energy platform Agnostic Klient

Project description


=====
bleak
=====

.. image:: https://www.dropbox.com/s/fm0670e9yrmwr5t/Bleak_logo.png?raw=1
:target: https://github.com/hbldh/bleak
:alt: Bleak Logo
:scale: 50%

|

.. image:: https://img.shields.io/pypi/v/bleak.svg
:target: https://pypi.python.org/pypi/bleak

.. image:: https://img.shields.io/travis/hbldh/bleak.svg
:target: https://travis-ci.org/hbldh/bleak

.. image:: https://ci.appveyor.com/api/projects/status/ujrddq7n2uqqy3bh?svg=true
:target: https://ci.appveyor.com/project/hbldh/bleak

.. image:: https://readthedocs.org/projects/bleak/badge/?version=latest
:target: https://bleak.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://pyup.io/repos/github/hbldh/bleak/shield.svg
:target: https://pyup.io/repos/github/hbldh/bleak/
:alt: Updates


** This is a fork of the original Bleak_ library ** by Henrik Blidh, with some modifications
to support my needs for my BrickNil_ project. It has been packaged up for distribution with
that project on PyPI. All credit to Henrik for his development of this wonderful asyncio package.

Also credit is due to David Lechner for his work on getting Windows 10 support working.

.. _Bleak: https://github.com/hbldh/bleak
.. _Bricknil: https://github.com/virantha/bricknil


Bleak is an acronym for Bluetooth Low Energy platform Agnostic Klient.

* Free software: MIT license
* Documentation: https://bleak.readthedocs.io.

Bleak is a GATT client software, capable of connecting to BLE devices
acting as GATT servers. It is designed to provide a asynchronous,
cross-platform Python API to connect and communicate with e.g. sensors.

**Be warned: Bleak is still in an early state of implementation.**

Installation
------------

.. code-block:: bash

$ pip install bleak

Features
--------

* Supports Windows 10, version 16299 (Fall Creators Update)
* Supports Linux distributions with BlueZ >= 5.43
* Plans on macOS support via Core Bluetooth API (see `develop` branch for progress)

Bleak supports reading, writing and getting notifications from
GATT servers, as well as a function for discovering BLE devices.

Usage
-----

To discover Bluetooth devices that can be connected to:

.. code-block:: python

import asyncio
from bleak import discover

async def run():
devices = await discover()
for d in devices:
print(d)

loop = asyncio.get_event_loop()
loop.run_until_complete(run())


Connect to a Bluetooth device and read its model number:

.. code-block:: python

import asyncio
from bleak import BleakClient

address = "24:71:89:cc:09:05"
MODEL_NBR_UUID = "00002a24-0000-1000-8000-00805f9b34fb"

async def run(address, loop):
async with BleakClient(address, loop=loop) as client:
model_number = await client.read_gatt_char(MODEL_NBR_UUID)
print("Model Number: {0}".format("".join(map(chr, model_number))))

loop = asyncio.get_event_loop()
loop.run_until_complete(run(address, loop))


See examples folder for more code, among other example code for connecting to a
`TI SensorTag CC2650 <http://www.ti.com/ww/en/wireless_connectivity/sensortag/>`_


=======
History
=======

0.3.1 (2019-04-01)
------------------
* Win10 support
* Changes to get more device information


0.2.4 (2018-11-30)
------------------

* Fix for issue #52: Timing issue getting characteristics
* Additional fix for issue #51.
* Bugfix for string method for BLEDevice.

0.2.3 (2018-11-28)
------------------

* Fix for issue #51: ``dpkg-query not found on all Linux systems``

0.2.2 (2018-11-08)
------------------

* Made it compliant with Python 3.5 by removing f-strings

0.2.1 (2018-06-28)
------------------

* Improved logging on .NET discover method
* Some type annotation fixes in .NET code

0.2.0 (2018-04-26)
------------------

* Project added to Github
* First version on PyPI.
* Working Linux (BlueZ DBus API) backend.
* Working Windows (UWP Bluetooth API) backend.

0.1.0 (2017-10-23)
------------------

* Bleak created.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bricknil_bleak-0.3.1-py2.py3-none-any.whl (37.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bricknil_bleak-0.3.1-py2.py3-none-any.whl.

File metadata

  • Download URL: bricknil_bleak-0.3.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

File hashes

Hashes for bricknil_bleak-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fba7fab357dc34192f68ff42d6a3d6f88e91d0b9040286d3bfa33a4e85a5e6d1
MD5 2624c57e0703776421541236894a7cb5
BLAKE2b-256 795ece668631eb3bdb181db9348992e1666fc2e1b8f2fe58264cf60e6696f54f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page