Add support for Bluetooth
- 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
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