Skip to content

jahmia/cycling_epower

Repository files navigation

Cycling ePower

Cycling ePower Banner

Estimate realistic cycling power output from GPS data — no power meter required.

Physics-based model that combines speed, elevation, air drag, rolling resistance, gravity, and acceleration to deliver accurate wattage estimates from GPX, TCX, or FIT files.

Perfect for cyclists, coaches, data enthusiasts, and anyone who wants power insights from old rides.

✨ Features

  • Accurate physics model (gravity, aero, rolling, inertia)
  • Supports GPX, TCX, FIT files
  • Configurable rider & bike parameters (weight, CdA, Crr, etc.)
  • Elevation data handling (SRTM or custom)
  • Command-line + Python library usage
  • Clean output with power, normalized power, and metrics

🚀 Quick Start

git clone https://github.com/jahmia/cycling_epower.git
cd cycling_epower
pip install -r requirements.txt

⚙️ Configuration

Copy config.yaml.template to config.yaml and adjust parameters for your setup (rider weight, bike specs, environmental factors, etc.).

📋 Project Status & Roadmap

  • Mean / normalized power calculation
  • Better handling when cadence = 0 (set power to null)
  • Ignore duplicated point along time
  • Detection and correction of speed/power drift
  • Option to bypass cadence sensor
  • Cleaner object-oriented API (dot notation)
  • Remove duplicate timestamps
  • Analysis : Open point as URL
  • Batch elevation processing
  • Support for direct start/end power values

Contributions are very welcome!

License

GPL-3.0


Python License Last Commit Issues Hits

What's your watts ?

Made with ❤️ for the cycling community

About

Estimated power integrated

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages