All the commercial services that allow you to record your sport activities like Polar Flow, Runtastic, Endomondo, Runkeeper, Strava, Google Fit, or whatever store your data on some server which you cannot control. You do not know what they use the data for and you cannot write your own tools to analyze your own data.
This is the reason why I wanted to develop a small tool that can be modified easily to fit my needs and stores the data on my computer. All features that are important to me are now implemented:
- add and edit activities manually
- import TCX files
- detailed view: plot of velocitiy and heartrate, map that shows the path, pace, best splits
- personal records
- calendar view
- summary of weeks, months, years
It was very simple to implement the application with Python. I have a database to which I communicate with SQLAlchemy, the GUI is written with PyQt, the map is rendered with Leaflet and OpenStreetMap. I use Matplotlib for plotting. Parsing XML files is very easy with Beautiful Soup.
The result can be seen here:
The code is available on github.