A Python-based tool to visualize the maximum weight progress for each exercise performed in the gym. The script processes data from a CSV file and generates insightful graphs to help track weight progress over time. 📊
- 📂 Parse CSV files containing gym workout data.
- 📈 Generate graphs showing the trend of the maximum weight for each exercise.
- 💾 Export graphs in jpg formato.
- 🔧 Easily customizable for additional analysis.
The script is actualy only able to analize CVS from Hevy. If you use Docker pay attention cause the container is builded with charts images inside, so if you consider your workout data sensible do not push it to a registry.
- 🐍 Python 3.8+
- Required Python libraries (see
requirements.txt
)
-
Clone the repository:
git clone https://github.com/Reda2200/workout-chart.git cd gym-progress-tracker
-
Install dependencies:
pip install -r requirements.txt
-
CSV file: This script generate chart starting from csv file of your workout extracted from Hevy. To Download the file follow this step:
- log in to your account at hevy.com
- go to Setting ➡️ Export Data ➡️ Click on "Export Workout Data"
Copy the file in the same Directory of the script.
-
Run the script:
python3 main.py
This project include a Docker integration for a better experience. 🚀
whit this docker conatainer you can see your chart at <IP-OF-YOUR-SERVER>:4321
- Ensure Docker is installed and running.
- Remember to copy the CSV file in the same directory where you clone this repo
- Build the Docker image:
docker build -t gym-chart .
To execute the script using Docker:
docker run --name gym-chart
The Dockerfile
include web server using the template Astro Multiverse Created by AREA44. The web page is reachable at the port 4321
of your server
Contributions are welcome! 🧑💻 Feel free to open issues, suggest features, or submit pull requests.
This project is licensed under the MIT License. See the LICENSE
file for more details.
Special thanks to AREA44 for the template Astro Multiverse.
- Add Docker Compose
- Add Dropset and failture set in the chart
- Create a Docker image throgh gitflow
- Trigger python script at first container start
- Schedule crontab to update charts at last data
- Implement Selenium to automaticaly download workout data