beeware / beeware/toga

Add support for Bluetooth

Open
#2,915 11 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
15h 39m
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Bluetooth is a common protocol for interacting with hardware devices. At present, Toga does not provide any mechanism for communicating with Bluetooth devices.

### Describe the solution you'd like

Toga should provide an API for communicating with Bluetooth.

The exact shape of this API is an open question. It would presumably live in the `app.hardware` namespace.

### Describe alternatives you've considered

It may be preferable to *not* support this in Toga, and instead use a third-party library.

[Bleak](https://bleak.readthedocs.io/en/latest/) is a Python library that has support for Bluetooth on desktop platforms and Android (although the Android support is Kivy specific).

[BleekWare](https://github.com/MarkusPiotrowski/bleekWare) is a limited replacement for Bleak that is compatible with BeeWare's Android support (https://github.com/beeware/beeware/issues/181).

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the proposed app.hardware namespace and the Bluetooth options mentioned in the issue, especially Bleak and BleekWare. Compare their desktop and Android support, then determine the API scope and platform requirements. Done means the project has an agreed Bluetooth API and a clear implementation plan across supported platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.