Metadata-Version: 2.4
Name: aidlabsdk
Version: 2.5.2
Summary: Comprehensive SDK for integrating Aidlab's and Aidmed One's biofeedback and biosignal processing functionalities into your applications.
Home-page: https://www.aidlab.com
Author: Aidlab
Author-email: contact@aidlab.com
License: MIT
Keywords: biofeedback,aidlab,aidmed,wearable technology,fitness,data analysis,healthcare,biomedical,chest strap,sdk,signals,biosignals,heart rate,ecg
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: bleak<4,>=3.0.2
Requires-Dist: packaging<27,>=26.2
Provides-Extra: gui
Requires-Dist: numpy<3,>=2.2.6; extra == "gui"
Requires-Dist: PyOpenGL<4,>=3.1.10; extra == "gui"
Requires-Dist: PyQt5<6,>=5.15.11; extra == "gui"
Requires-Dist: pyqtgraph<0.15,>=0.14; extra == "gui"
Requires-Dist: qasync<0.29,>=0.28; extra == "gui"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

Aidlab SDK simplifies the communication process with Aidlab and Aidmed One. The SDK also provides algorithms to manipulate received data so you don’t have to reinvent the wheel.

## Supported platforms

The package publishes Python-ABI-independent platform wheels containing the matching native Aidlab SDK library:

- macOS 11 or newer: Intel and Apple Silicon (`universal2`)
- Windows: x86-64
- Linux: x86-64 and AArch64 (`manylinux_2_24` or newer), plus ARMv7 (`manylinux_2_31` or newer)

## Transport architecture

The Python SDK now supports two connection modes:

1. Default mode (Aidlab-managed BLE scanner + transport)
2. Custom mode (your own scanner/transport implementation)

### Default mode

```python
from aidlab import AidlabManager

devices = await AidlabManager().scan()
await devices[0].connect(delegate)
```

### Custom mode

```python
from aidlab import Device

device = Device(
    address="AA:BB:CC:DD:EE:FF",
    name="Aidlab 2",
    transport=my_transport,  # implements AidlabTransport
)
await device.connect(delegate)
```
