skillfed

pyobjc-framework-CoreBluetooth

Wrappers for the framework CoreBluetooth on macOS

pyobjc-framework-corebluetooth v12.2.2 854.8K downloads/30d#4,892 on PyPI803
Permissive license MIT Active released

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-corebluetooth

uv

uv add pyobjc-framework-corebluetooth

poetry

poetry add pyobjc-framework-corebluetooth

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: MacOS X :: CocoaIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: MacOS :: MacOS XProgramming Language :: Objective CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Free Threading :: 3 - StableProgramming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User Interfaces

Tags

bluetooth mac pythoncorebluetooth bindingsmacos bluetooth apible device communicationpyobjc bluetoothmac wireless devicesobjective-c bluetooth wrapper
macos-onlyhardware-interfacepyobjc-framework

More Python Modules packages

idna

Converts domain names between Unicode and…

permissive · top 100 on PyPI

setuptools

Setuptools is a Python build backend and…

permissive · top 100 on PyPI

PyYAML

PyYAML parses and emits YAML 1.1 data format,…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

annotated-types

Provides reusable metadata objects for use with…

permissive · top 100 on PyPI

typing-inspection

Provides runtime tools to inspect and…

permissive · top 100 on PyPI

pyobjc-framework-IOBluetooth

Provides Python bindings to macOS's IOBluetooth…

permissive · top 15,000 on PyPI

pyobjc-framework-IOBluetoothUI

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-CoreWLAN

Provides Python bindings to macOS's CoreWLAN…

permissive · top 15,000 on PyPI

btsocket

A Python library for controlling BlueZ…

permissive · top 15,000 on PyPI

pyobjc-framework-Network

Provides Python bindings to Apple's Network…

permissive · top 15,000 on PyPI

pyobjc-framework-CoreAudio

Provides Python bindings to macOS's CoreAudio…

permissive · top 15,000 on PyPI

pyobjc-framework-libxpc

Provides Python bindings to the macOS XPC…

permissive · top 15,000 on PyPI

pyobjc-framework-DeviceDiscoveryExtension

Provides Python bindings for Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-ThreadNetwork

Provides Python bindings to Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-AVRouting

Provides Python bindings to Apple's AVRouting…

permissive · top 15,000 on PyPI