Metadata-Version: 2.4
Name: brilliant-ble
Version: 3.0.0
Summary: Low-level library for Bluetooth LE connection to Brilliant Labs Frame and Halo devices
Project-URL: Homepage, https://github.com/brilliantlabsAR/brilliant_sdk/tree/main/python/packages/brilliant_ble
Project-URL: Bug Tracker, https://github.com/brilliantlabsAR/brilliant_sdk/issues
Project-URL: Changelog, https://github.com/brilliantlabsAR/brilliant_sdk/blob/main/python/packages/brilliant_ble/CHANGELOG.md
Author: luke-brilliant
License-File: LICENSE
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Requires-Dist: bleak<1.0.0,>=0.22.3
Provides-Extra: docs
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == 'docs'
Requires-Dist: sphinx>=7.0.0; extra == 'docs'
Provides-Extra: examples
Provides-Extra: tests
Requires-Dist: aioconsole; extra == 'tests'
Requires-Dist: lc3py; extra == 'tests'
Requires-Dist: numpy; extra == 'tests'
Requires-Dist: pytest>=8.0; extra == 'tests'
Description-Content-Type: text/markdown

# brilliant-ble

Low-level library for Bluetooth LE connection to [Brilliant Labs](https://brilliant.xyz/) Frame and Halo devices.

[Frame SDK documentation](https://docs.brilliant.xyz/frame/frame-sdk/).

[Examples on GitHub](https://github.com/brilliantlabsAR/brilliant_sdk/tree/main/python/packages/brilliant_ble/examples).

## Installation

```bash
uv add brilliant-ble
```

## Usage

```python
import asyncio
from brilliant_ble import BrilliantBle

async def main():
    frame = BrilliantBle()

    try:
        await frame.connect()

        await frame.send_lua("frame.display.text('Hello, World!', 1, 1);frame.display.show();print(nil)", await_print=True)

        await frame.disconnect()

    except Exception as e:
        print(f"Not connected to Device: {e}")
        return

if __name__ == "__main__":
    asyncio.run(main())
```
