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


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.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 Distribution

bleak-0.2.0.tar.gz (40.4 kB view details)

Uploaded Source

Built Distribution

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

bleak-0.2.0-py2.py3-none-any.whl (34.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file bleak-0.2.0.tar.gz.

File metadata

  • Download URL: bleak-0.2.0.tar.gz
  • Upload date:
  • Size: 40.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for bleak-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0bec3737c1de6a939a578a9afa8fbc1d3304d236efe1cf171effcec586566df6
MD5 8dd196e59baf2e8b89ced4ff2acdb90e
BLAKE2b-256 2ed399c2c82f6d393177c3ca24318e08bcece87cfa7c1a1421ca8cd793f87c1e

See more details on using hashes here.

File details

Details for the file bleak-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for bleak-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a70d5321ec11e274411a66061e220e45e64a37dc11b329429f2fc07f92b83f75
MD5 334594a373506fbe0af2eb5cc06329fe
BLAKE2b-256 4efc7305fa75953a2c2245c1a3a2710fe9c88bff9142447e962c34a241b59e76

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