Skip to content

Python tool that generates personalized weekly workout programs based on client goals, experience level, and gym setup.

Notifications You must be signed in to change notification settings

evie-ho/python-workout-generator-

Repository files navigation

🏋️ Python Workout Program Generator

A smart, command-line application that creates personalized workout plans. Input your fitness goals and constraints, and get a structured, printable program generated instantly.

Repository: https://github.com/evie-ho/python-workout-generator-

✨ Features

  • Goal-Oriented Plans: Generate programs for Fat Loss, Muscle Gain, or Strength with auto-adjusted sets and reps.
  • Adapts to Your Level: Tailors exercise selection and complexity for Beginner, Intermediate, or Advanced users.
  • Flexible Scheduling: Creates splits for 3, 4, 5, or 6 workout days per week.
  • Equipment Aware: Switch between Full Gym and Home Gym (dumbbell/barbell only) modes.
  • Clean Data Management: Uses an extensible JSON exercise database for easy maintenance.
  • Portable Output: Exports a finalized, well-formatted workout plan as a .txt file.

🚀 Getting Started

Prerequisites

  • Python 3.8 or higher

Installation & Running

  1. Clone the repository:
    git clone https://github.com/evie-ho/python-workout-generator-.git
    cd python-workout-generator-
  2. Run the application:
    python main.py

📖 How to Use

  1. Launch the application with python main.py.
  2. Follow the interactive prompts to enter:
    • Client/Your Name
    • Primary Training Goal
    • Experience Level
    • Available Days Per Week
    • Equipment Access (Home or Full Gym)
  3. Choose to view the program in the terminal or save it immediately as a .txt file.
  4. Open the generated program_[name].txt file for your printable workout plan.

🗂️ Project Structure

python-workout-generator/ ├── main.py # Application entry point & CLI interface ├── generator.py # Core logic for program generation ├── models.py # Data classes (Exercise, WorkoutDay, Program) ├── data/ │ └── base_exercises.json # Exercise database ├── outputs/ # (Generated folder for workout files) └── README.md # This file

🛠️ Tech Stack

  • Language: Python 3
  • Paradigm: Object-Oriented Programming (using dataclasses)
  • Data Storage: JSON
  • Interface: Command Line Interface (CLI)
  • Output: Plain Text (.txt) files

🔮 Future Enhancements

Ideas for extending the project:

  • Add a simple web interface using Flask.

  • Integrate exercise demonstration videos or GIFs.

  • Implement progress tracking for repeated use.

  • Allow for custom exercise entries.

  • GitHub: @evie-ho

  • Portfolio:[https://evieho.netlify.app/]


If this project helps you with your fitness journey, consider giving it a ⭐ on GitHub!

About

Python tool that generates personalized weekly workout programs based on client goals, experience level, and gym setup.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages