Skip to main content

Driver-based Bluetooth control framework exposing safe device actions via Python and REST API

Project description

btcontrol

btcontrol is a driver-based Bluetooth control framework that exposes only the actions a device explicitly supports as validated API endpoints.

It works across Bluetooth Classic and BLE, automatically detecting interfaces, mapping them to capabilities, and executing actions through the correct control plane.

No undocumented hacks. No vendor lock-in. No unsafe guessing.


Features

  • Automatic Bluetooth device discovery
  • Interface-based capability detection
  • Driver system for extensibility
  • Safe, allow-listed actions only
  • Auto-generated REST API (FastAPI)
  • BLE control-plane support (custom devices)
  • Audio device support (A2DP / AVRCP)
  • Vendor-locked devices are intentionally excluded

Supported Device Interfaces

Interface Examples Actions
Bluetooth Audio (AVRCP) Headphones, speakers play, pause, next, volume
Bluetooth HID Keyboards, mice key events (planned)
BLE GATT (standard) Sensors read, notify
BLE GATT (custom) Your own devices command execution
RFCOMM / SPP Serial devices byte I/O (planned)

Devices that hide actions behind proprietary protocols are not supported by design.


Installation

pip install btcontrol

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

btcontrol-0.1.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

btcontrol-0.1.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file btcontrol-0.1.0.tar.gz.

File metadata

  • Download URL: btcontrol-0.1.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for btcontrol-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c1a174d619993a9df96a4cbe6457e36a54ac23f54f73335772f989b90297317e
MD5 ecb213b63a93346cf65881bff025480a
BLAKE2b-256 53c75d189f5176a9445c9ef271d21d764befc463b02593b00278e96aaf5c8f24

See more details on using hashes here.

File details

Details for the file btcontrol-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: btcontrol-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for btcontrol-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0869f2be9430b762677084d2056658e399cc1488858c36acb72ac77faf08c1d3
MD5 fbea4b7495182e085d038daf0504b4da
BLAKE2b-256 1de9e992e9c019aefa5b5fa879ad76eddb0be55b57b9fb7a427a02f34f238f7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page