skillfed

bluezoo

A mock for the BlueZ D-Bus API

bluezoo v1.0.2 513.2K downloads/30d#6,250 on PyPI3
Copyleft license GPL-2.0-only Active released

What it is and what it does

BlueZoo is a D-Bus mock service that emulates the BlueZ Bluetooth stack, allowing developers to test Bluetooth-dependent applications without real Bluetooth hardware. It registers as the "org.bluez" D-Bus service and runs entirely in user space, making it suitable for automated test suites and CI/CD pipelines on Linux systems. The package provides a command-line interface to start mock adapters and a D-Bus manager interface to dynamically add or remove adapters during testing.

The package depends on coloredlogs, pyventus, pyparsing, and sdbus to handle D-Bus communication, event dispatching, and logging. It supports a subset of BlueZ interfaces including Adapter1, Device1, GattService1, GattCharacteristic1, GattDescriptor1, Agent1, AgentManager1, LEAdvertisement1, and LEAdvertisingManager1. Applications can interact with BlueZoo using standard BlueZ tools like bluetoothctl or D-Bus utilities (gdbus), making it a drop-in mock for testing without modifying application code.

Use it for:

  • Test Bluetooth device discovery and connection logic in CI/CD pipelines without physical hardware
  • Develop and validate GATT service implementations for BLE peripherals in isolation
  • Mock Bluetooth adapter state changes and device events for integration testing
  • Verify BlueZ D-Bus API calls in applications without requiring root access to real Bluetooth hardware
  • Simulate multiple Bluetooth adapters for testing multi-adapter scenarios

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

BlueZoo is a mock BlueZ D-Bus API service that lets you test Bluetooth integration without physical hardware, running entirely in user space for CI/CD integration.

Yes, if you are testing BlueZ integration on Linux and want to avoid hardware dependencies in CI/CD. The low install friction, active maintenance, and zero known vulnerabilities make it a reasonable choice for test suites. However, the young codebase (first release April 2025) and minimal adoption mean you should verify that the supported BlueZ interfaces match your application's needs before committing to it in production workflows. The GPL-2.0-only license requires careful review if your application will be distributed.

Install

bluezoo on PyPI

pip

pip install bluezoo

uv

uv add bluezoo

poetry

poetry add bluezoo

Installing bluezoo

Before you install

Low install friction with a pure-Python wheel. Actively maintained with recent commits; however, the package is young (first release April 2025) and has minimal adoption (3 repository stars), so production stability remains unproven.

License in practice

Licensed under GPL-2.0-only (copyleft). Any application that links or distributes BlueZoo must comply with GPL v2 terms, including source code disclosure obligations.

Quickstart

pip install bluezoo

# Start a local D-Bus bus and set DBUS_SYSTEM_BUS_ADDRESS
dbus-daemon --session --print-address

# Run BlueZoo with a mock adapter
bluezoo --auto-enable --adapter 00:11:22:33:44:55

Requires a D-Bus system (typically Linux), Python >=3.11, and a running D-Bus daemon; the package is designed for POSIX Linux environments.

Verify before relying

  • Completeness of BlueZ interface support beyond the documented subset (org.bluez.Adapter1, org.bluez.Device1, org.bluez.GattService1, etc.)
  • Performance characteristics and scalability limits when simulating multiple adapters or devices under load
  • Compatibility with specific BlueZ versions or BlueZ client libraries beyond bluetoothctl

Package facts

License GPL-2.0-only (copyleft)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 4 — coloredlogs, pyventus, pyparsing, sdbus
Maintenance actively maintained — 333 days since the last release
Last repo commit
First released
Downloads 513,183/month — #6,250 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: bluezoo-1.0.2-py3-none-any.whl

Intended Audience :: DevelopersOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Topic :: Software Development :: TestingTopic :: Software Development :: Testing :: Mocking

Tags

bluez d-bus mock testingbluetooth testing without hardwared-bus service mockbluez integration testingbluetooth adapter simulationmock bluez servicebluetooth ci/cd testing
bluetooth-testingd-bus-mockci-cd

More Testing packages