Browser-based Sport Workout Organizer to analyze your Activities locally
Project description
Workoutizer
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.
Features
- 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 occurring 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.
Gallery
Dashboard | Sport Page |
---|---|
Activity Page 1/2 | Activity Page 2/2 |
---|---|
Thanks
Thanks to the authors of projects I integrated into workoutizer:
- leaflet-ui by Raruto
- django-colorfield by Fabio Caccamo
- python-fitparse by dtcooper
- leaflet-color-markers by pointhi
- Font Awesome Icons
Enjoy!
Changelog
See the releases section.
For older releases have a look at the archived project at gitlab.
Contributing
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:
./run_docker.sh
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for workoutizer-0.7.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba70d59ed4ca7c0e3f07cddeaaa3002f8219b680b3524cb78bdd001e9d3ef8f7 |
|
MD5 | 647132e1d746b8ab28c1ff1d6e7d240d |
|
BLAKE2b-256 | c0bbe2902e95efaca04e3da4a7de7fc57a5bf2f062f13f5a51cce5694b232843 |