Heart Rate Monitor Comparison Tool
Compare heart rate readings from multiple devices by plotting data from TCX, GPX, or FIT files. Perfect for validating heart rate monitor accuracy or comparing different devices worn simultaneously.
See example in the Article comparing heart rate monitors (Garmin vs Coospo vs Scosche)
Supported Devices and Formats
Heart Rate Recording Devices
- Chest Straps: Polar H9/H10, Garmin HRM-Pro/HRM-Dual, Wahoo TICKR
- Optical Sensors: Garmin/Polar/Suunto watches, Apple Watch
File Formats
- TCX: Garmin, Polar, Suunto devices
- GPX: Strava, Komoot (with heart rate in extensions)
- FIT: Garmin, Wahoo, modern Polar and Suunto devices
Compatible Apps
Export your data from:
- Garmin Connect
- Polar Flow
- Suunto app
- Strava
- Nike Run Club
- Training Peaks
- Zwift
- Endomondo (legacy)
With that tool was created Article with heart rate monitor comparison
Installation
From PyPI (recommended)
pip install hrcomparison
From Source
git clone https://github.com/andgineer/hrcomparison.git
cd hrcomparison
source ./activate.sh # Creates venv, installs dependencies and activates
Usage
hrcomparison --help
Usage: hrcomparison [OPTIONS] [FOLDER]
Create comparison chart with plots from files in the `folder`.
FOLDER Folder with data files (.tcx, .gpx, or .fit). By default, current folder is used.
Options:
-p, --prefix TEXT Prefix to filter files in the FOLDER. If not
specified, all files will be used.
-o, --output FILENAME Output file name without extension. If not specified,
chart will be shown.
--help Show this message and exit.
Examples
Show chart on screen from files with names starting with 2018 in tests/resources folder:
hrcomparison tests/resources -p 2018
Save chart as PNG file from all files in current folder:
hrcomparison -o my_comparison
Coverage report
Metadata
Release files for hrcomparison 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| hrcomparison-0.1.0.tar.gz | 78.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hrcomparison-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 88.8 kB
Release files / hrcomparison-0.1.0.tar.gz
| Download URL | hrcomparison-0.1.0.tar.gz |
|---|---|
| Size | 78.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41ce86256e7534a019499e1575e9f8a48edfd217d05fdae1f092bed422ed245b
|
|
BLAKE2b-256 checksum How to use checksums |
7f064fad558aa4cdf68538c63fad12a003ccb07dc3fe19aff065d166a2f3a4fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / hrcomparison-0.1.0-py3-none-any.whl
| Download URL | hrcomparison-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9c984bdd425255ea626f1a714a0d4226c0f0ff03b29397e061971c3baac4586f
|
|
BLAKE2b-256 checksum How to use checksums |
f3cd574c2d2edeeac0b163e8658bd847c468859e84ae3fa029ab2d9da523cdf5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for hrcomparison 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.