Skip to content

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

 
 
 

Contributors

Languages