A command-line tool for analyzing running data. Manually add data or upload from a CSV or FIT file. Supports basic data insights like distance, pace, and trends over time.
📦 PyPI: running-analyzer on PyPI
🛠 Source Code: GitHub Repo
-
📊 Load and analyze running data from CSV or FIT files.
-
📏 Calculate total distance, average pace, and other key metrics.
-
📈 Identify trends and generate insights from past runs.
-
🖥️ Command-line interface (CLI) for easy use.
You can install the Running Data Analyzer from PyPI using uv
:
uv pip install running-analyzer
Once installed, you can use the CLI command running-analyzer run
to start the program. Or use running-analyzer -help
to list available commands.
Note: Running running-analyzer run
will start the interactive CLI mode. Use exit
or quit
to stop it.
🏃♂️ Run Summary:
Total Runs: 105
Total Distance: 1601.12 km
Total Duration: 13437.33 mins
Average Distance: 15.25 km
Average Duration: 127.97 mins
Average Pace: 8.39 min per km
🏆 Best Run:
2025-03-06: 100.00 km in 35.00 mins (Pace: 0.35)
📏 Longest Run:
2025-03-06: 100.00 km
📉 Shortest Run:
2025-02-22: 1.01 km
🐢 Slowest Run:
2024-12-22: Pace of 11.96 min/km
When importing a CSV file, you should have the following columns:
Date,Distance,Unit,Duration (min),Heart Rate,Elevation Gain,Pace,Run Type,Location,Notes
2025-02-15,10.5,km,55,150,200,5:14,Tempo,Park,Good run
2025-02-10,8.0,mi,44,145,180,7:10,Long,Trail,Felt strong
Strava Guide: Exporting Strava Data
- Backend: Typer (CLI framework), SQLModel (ORM & DB modeling), PostgreSQL (database), Alembic (migrations)
- CLI & Utilities: Rich (console output), Plotext (terminal plotting), NumPy (data processing)
- Deployment: PyPI (package distribution)
- 📅 Add support for GPX file imports
- 🏆 More visualizations
- 📝 API integration with Strava/Garmin
This project is licensed under the MIT License.
Feel free to suggest any improvements or share your feedback by logging an issue against this repo!