Metadata-Version: 2.4
Name: apexbluetooth
Version: 6.26.2+apexos.1
Summary: High-availability Bluetooth engine for ApexOS
License-Expression: Apache-2.0
License-File: LICENSE
Author: Advait Thakur
Author-email: advait@apexinfosys.in
Requires-Python: >=3.11
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries
Requires-Dist: async-interrupt (>=1.1.1)
Requires-Dist: bleak (>=3.0.2)
Requires-Dist: bleak-retry-connector (>=4.6.1)
Requires-Dist: bluetooth-adapters (>=2.4.0)
Requires-Dist: bluetooth-auto-recovery (>=1.6.4)
Requires-Dist: bluetooth-data-tools (>=1.29.18)
Requires-Dist: btsocket (>=0.3.0)
Requires-Dist: dbus-fast (>=5.0.22) ; platform_system == "Linux"
Project-URL: Bug Tracker, https://github.com/apexinfosysindia/bluetooth-engine/issues
Project-URL: Repository, https://github.com/apexinfosysindia/bluetooth-engine
Description-Content-Type: text/markdown

# apexbluetooth

High-availability Bluetooth engine for ApexOS: scanner management,
advertisement tracking, connection slot allocation and bleak wrappers for
local (BlueZ/mgmt) and remote Bluetooth scanners.

This package is an ApexOS-maintained fork of an upstream Bluetooth library
(Apache-2.0; original attribution preserved in `LICENSE`). Public API classes
carry the `Apex` prefix (`ApexBluetoothConnector`, `BaseApexScanner`,
`BaseApexRemoteScanner`, `ApexScanner`, …). A compatibility shim distribution
under the upstream name re-exports this package — including old-name class
aliases — for third-party libraries that still import the upstream namespace.

## Installation

```sh
pip install apexbluetooth
```

Cython extension modules are compiled when a C toolchain is available and
fall back to pure Python otherwise (`REQUIRE_CYTHON=1` forces compilation,
`SKIP_CYTHON=1` skips it).

## Development

```sh
poetry install
poetry run pytest
```

