Skip to main content

Browser-based Sport Workout Organizer to analyze your Activities locally

Project description


The Workoutizer is a simple web application for organizing your workouts and sports activities. It is designed to work locally on any UNIX-like system running Python.

Track your activities to get an overview of your overall training, similar to platforms like strava or garmin connect - but without uploading all your sensitive health data to some 3rd party cloud.


  • Automatic import of Garmin .fit files and .gpx files
  • Dashboard overview page of all activities
  • Render your activity gps data on different OSM maps
  • Show either all activities of one sport or only one activity on the map
  • Plots of activity specific data like: heart rate, pace, temperature, cadence and altitude
  • Integrate laps into both plots and maps
  • Connect plots and map via mouse hovering
  • Keyboard navigation in browser
  • Add untracked activities manually via the GUI
  • Create and download .gpx files to share your activities
  • Add as many different sports as you want.
  • Convenience CLI for installing, configuring, updating, ...

Getting Started

Install workoutizer

pip install workoutizer

Initialize and run workoutizer

wkz init
wkz run

See the help description of the CLI with wkz --help and even subcommands, e.g.: wkz manage --help.

Note: This should work for any Linux and Mac system. Please report any occuring issues when installing workoutizer.

Workoutizer comes bundled with some initial toy activity data, which can be deleted easily on the Settings page.

In case you want to run workoutizer on a Raspberry Pi in your local network, follow the Raspberry Pi setup instructions.


Dashboard Sport Page
Activity Page 1/2 Activity Page 2/2


Thanks to the authors of projects I integrated into workoutizer:



See the tags section.


Contributions are welcome! Feel free to pick an open issue, open up a pull request or file a new issue.

For local development first clone the repo and install the dev-requirements.txt like

pip install -r setup/requirements/dev-requirements.txt

Afterwards I recommend to run the development docker container:


This will build the image, run the container and initialize workoutizer. Once up and running, run the tests

pytest wizer/tests/

Once this was successful you are good to go.

Note: The browser_tests cannot (yet) be ran from within the docker container, but it is possible to run them form your host system. You might need to install gecko driver though.

Project details

Download files

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

Files for workoutizer, version 0.6.10
Filename, size File type Python version Upload date Hashes
Filename, size workoutizer-0.6.10.tar.gz (258.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page