Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Python library for Bluetooth Low Energy (BLE) on Linux

Project Description

A simple Python interface to BlueZ stack

Name and aim

The aim of this library is to provide an API to access to Bluez with zero boilerplate code.


To provide a simplified API to people that want to use Bluetooth functionality in their code. The library will use calls to the Bluez D-Bus API and use ‘sensible’ defaults to help with that simplification. It aims to support the ability to create interesting STEM activities without needing to explain the Bluez API or write an event loop.

In addition to the API it will contain examples of how to connect to common Bluetooth Smart (BLE) objects around them (or at least easily accessible to them). These examples will need to be written without the need to sign (or break) non-disclosure agreements.


This is an early-stage experiment that we are developing in the open. This currently should only be of interest to developers looking to provide feedback and to contribute.


If you are coming here for the first time then looking at the examples is probably the place to start


This will check that it can find the Bluetooth adapter on the computer running the code. It will print to screen various information and check it is powered before scanning for nearby devices

GATT Client (Central role)

This is a simple example of how to read the Ti Sensortag CC2650

This example uses the micro:bit API that has been written in bluezero. You will need a buzzer attached to pin 0 to get play_beep to work.

This example is the other end of the radio link to example.


Simple Eddystone URL beacon. Can be read with any Physical Web application


No example currently.

GATT Server (Peripheral role)

Experiment with Eddystone FatBeacon. Contains service for beacon to connect to that sends html page.

A simple light switch example using an LED and a switch. Write a value to the switch characteristic to change the state of the light

This can be controlled from web page via web bluetooth. This example advertises the URL via Eddystone URL. Once you attached you can change the colours of the LEDs on the Pimoroni Blinkt.

This example transmits the temperature of the CPU over the single characteristic. If your hardware does not support the vcgencmd then change the get_cpu_temperature() function to use the randomly generated temperature. Values are only updated when notification are switched on.

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
bluezero-0.0.5-py2.py3-none-any.whl (63.7 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Sep 8, 2017
bluezero-0.0.5.tar.gz (49.1 kB) Copy SHA256 Checksum SHA256 Source Sep 8, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting