pyobjc-framework-CoreBluetooth
Wrappers for the framework CoreBluetooth on macOS
What it is and what it does
This package wraps Apple's CoreBluetooth framework for use from Python, allowing developers to write Bluetooth applications on macOS without leaving Python. It sits on top of PyObjC, which handles the translation between Python and Objective-C, and requires both pyobjc-core and pyobjc-framework-Cocoa as runtime dependencies.
The package provides direct access to CoreBluetooth's APIs for discovering Bluetooth devices, establishing connections, reading and writing characteristics, and handling peripheral events. Since it is a thin wrapper rather than a high-level abstraction, developers must understand both the CoreBluetooth framework itself and PyObjC's conventions for working with Objective-C objects. The package is actively maintained, supports modern Python versions including free-threading builds, and carries no known security vulnerabilities.
Use it for:
- Build macOS desktop applications that discover and connect to Bluetooth peripherals like fitness trackers or smart home devices.
- Write command-line tools on macOS to scan for Bluetooth devices and read their advertised services.
- Develop cross-platform Python applications that need Bluetooth support on macOS alongside other platforms.
- Create test harnesses or automation scripts that interact with Bluetooth hardware on macOS.
- Prototype Bluetooth-based features in Python before porting to native macOS applications.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to macOS's CoreBluetooth framework, enabling Bluetooth device discovery, connection, and communication from Python code.
Yes, if you are developing on macOS and need Bluetooth functionality from Python. The active maintenance, broad Python version support, permissive license, and zero known vulnerabilities make it a safe choice. Install friction is moderate due to platform specificity and compiled dependencies, but this is unavoidable for framework bindings. Not applicable outside macOS.
Install
pyobjc-framework-corebluetooth on PyPI
pip
pip install pyobjc-framework-corebluetoothuv
uv add pyobjc-framework-corebluetoothpoetry
poetry add pyobjc-framework-corebluetoothInstalling pyobjc-framework-CoreBluetooth
Before you install
Medium install friction due to platform-specific wheels and compiled dependencies. Active maintenance with a release 3 days old and recent commits, supporting Python 3.10 through 3.15 including free-threading variants.
License in practice
MIT license permits commercial and private use with minimal restrictions, making this suitable for most projects.
Quickstart
pip install pyobjc-framework-corebluetooth
import CoreBluetooth
# Use CoreBluetooth APIs through PyObjC bindings
macOS only; requires Python 3.10 or later; requires pyobjc-core and pyobjc-framework-Cocoa as runtime dependencies.
Verify before relying
- Whether CoreBluetooth bindings support specific Bluetooth profiles or peripheral types beyond basic discovery and connection.
- Performance characteristics when handling multiple simultaneous device connections.
- Whether the package includes example code or reference implementations for common Bluetooth use cases.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — pyobjc-core, pyobjc-framework-Cocoa |
| Maintenance | actively maintained — 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 854,808/month — #4,892 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_corebluetooth-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_corebluetooth-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, CoreBluetooth
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyobjc-framework-IOBluetoothProvides Python bindings to macOS's IOBluetooth…
permissive · top 15,000 on PyPI
pyobjc-framework-IOBluetoothUIProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-CoreWLANProvides Python bindings to macOS's CoreWLAN…
permissive · top 15,000 on PyPI
btsocketA Python library for controlling BlueZ…
permissive · top 15,000 on PyPI
pyobjc-framework-NetworkProvides Python bindings to Apple's Network…
permissive · top 15,000 on PyPI
pyobjc-framework-CoreAudioProvides Python bindings to macOS's CoreAudio…
permissive · top 15,000 on PyPI
pyobjc-framework-libxpcProvides Python bindings to the macOS XPC…
permissive · top 15,000 on PyPI
pyobjc-framework-DeviceDiscoveryExtensionProvides Python bindings for Apple's…
permissive · top 15,000 on PyPI
pyobjc-framework-ThreadNetworkProvides Python bindings to Apple's…
permissive · top 15,000 on PyPI
pyobjc-framework-AVRoutingProvides Python bindings to Apple's AVRouting…
permissive · top 15,000 on PyPI