We recently came across a Python library, BeaconTools, for working with various types of Bluetooth LE Beacon. It supports iBeacon, Eddystone and Estimote beacons, extracting information from raw binary beacon advertisements. It can also work as a beacon scanner.
There’s a relatively new Raspberry Pi Python Beacon Scanner on GitHub.
The scanner can detect both iBeacon and Eddystone beacons.
There’s a growing number of operating systems for microcontrollers on single board computers, most of which can scan for Bluetooth LE devices such as beacons and connect to them via GATT for setup and extraction of data. Zerynth is now one such OS that you can program using Python.
Zerynth r2.2.0 update allows use of Bluetooth LE.
There’s a new article on Design Bluetooth BLE Applications in Python on ESP32 using Zerynth. The official documentation provides lots of examples.