Skip to main content

Unofficial local BLE tooling for supported Polar devices.

Project description

polar-ble-tools

Independent Python tools for working with supported Polar wearable devices over Bluetooth Low Energy.

polar-ble-tools is an unofficial community project. It is not affiliated with, endorsed by, sponsored by, or maintained by Polar Electro Oy.

Capabilities

  • discover, pair, and connect devices through Linux BlueZ;
  • issue PMD commands and manage offline recording;
  • use PFTP to list, retrieve, and manage device files;
  • retrieve raw .REC recordings with SHA-256 manifests and guarded cleanup;
  • retrieve passive .BPB files and decode supported data with local schemas;
  • validate and apply first-time-use (FTU) data;
  • generate and verify optional local schemas from a separately obtained SDK.

Structured .REC decoding is not included in 0.1.1.

Installation

Device operations require Linux, BlueZ, and bluetoothctl. Python 3.11 or newer is supported.

python -m pip install polar-ble-tools
polar-ble --help

Install the optional schema compiler only for SDK-assisted FTU encoding and BPB decoding:

python -m pip install "polar-ble-tools[sdk]"
polar-ble sdk install --accept-license

Quick start

Discover and pair a device:

polar-ble discover --scan-seconds 15 --name Polar
polar-ble pair --mac-address AA:BB:CC:DD:EE:FF --scan-seconds 15

List and collect raw recordings:

polar-ble raw --mac-address AA:BB:CC:DD:EE:FF list
polar-ble raw --mac-address AA:BB:CC:DD:EE:FF collect

Review a cleanup without deleting device files:

polar-ble raw --mac-address AA:BB:CC:DD:EE:FF cleanup --all --dry-run

See device setup, offline recording, and raw retrieval before performing device mutations.

Compatibility

Controlled hardware validation covers Polar Loop Gen 2 on Linux/BlueZ. Other devices exposing the required PMD and PFTP services may work but are not confirmed for this release. See compatibility for the verified capability matrix and limitations.

Optional SDK-assisted functionality

The package does not distribute the Polar BLE SDK, Polar SDK schema files, or artefacts generated from those files. Optional SDK-assisted functionality uses an SDK copy separately obtained and licensed by the user.

SDK download, inspection, generation, verification, activation, and removal are explicit polar-ble sdk commands. Package installation and import never perform those operations. See SDK integration.

Documentation and development

Licence and trademarks

Project-authored content is licensed under the Apache License 2.0. See NOTICE for attribution, trademark, and SDK-separation notices.

Polar and related product names are trademarks of Polar Electro Oy and are used solely to identify compatible devices.

Project details


Download files

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

Source Distribution

polar_ble_tools-0.1.1.tar.gz (76.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

polar_ble_tools-0.1.1-py3-none-any.whl (100.9 kB view details)

Uploaded Python 3

File details

Details for the file polar_ble_tools-0.1.1.tar.gz.

File metadata

  • Download URL: polar_ble_tools-0.1.1.tar.gz
  • Upload date:
  • Size: 76.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for polar_ble_tools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0811b410e9afe81f668744682131b1faf1c46f5066e3916acebce1c2e34a50b4
MD5 a4d9f90dae6287bc7b29fa72488092ef
BLAKE2b-256 053fcc18df05ff952f5f496eec460a4556747dcd6178e1ec04089b9329d19c58

See more details on using hashes here.

Provenance

The following attestation bundles were made for polar_ble_tools-0.1.1.tar.gz:

Publisher: pypi-release.yml on zyf0717/polar-ble-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file polar_ble_tools-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: polar_ble_tools-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 100.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for polar_ble_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 50ecca266a0e15f6739d5ab518580a7377aac16110422d5204a547986906623c
MD5 815f6031d82c2da0bdc4866cbbd48e09
BLAKE2b-256 2fc1a5e61b8f0d7a96bc0416a3087b10cf0e073e93a2aa7db7fdf0cc3bf64ef1

See more details on using hashes here.

Provenance

The following attestation bundles were made for polar_ble_tools-0.1.1-py3-none-any.whl:

Publisher: pypi-release.yml on zyf0717/polar-ble-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page