
# Kelpie Personal Trainer

Kelpie Personal Trainer is a Python library designed to help users exercise at home with customized workout plans based on their body type. Additionally, the library provides a free body type checker utilizing computer vision techniques to analyze body types from photos.

## Features

- **Customized Workout Plans**: Generate personalized workout plans tailored to individual body types.
- **Body Type Checker**: Utilize computer vision algorithms to analyze body types by uploading photos.
- **Exercise Recommendations**: Receive exercise recommendations based on the detected body type.
- **Accuracy and Counter**: Utilize computer vision techniques and machine learning to help count the amount of reps and move accuracy


## Installation

To install the library, use the following command:

```shell
pip install kelpie-personal-trainer
```

## Usage

### 1. Body Type Checker

The `body_type` module allows users to check their body type by providing a photo. Here's an example of how to use it:

```python
from kelpie_personal_trainer import body_type

# Load the photo
photo_path = "path/to/photo.jpg"
my_body_type = body_type_checker.check_body(photo_path, gender='male')

# Print the result
print("Detected body type:", my_body_type[0])
```

### 2. Workout Plan Generation

The `body_type` also module helps users generate personalized workout plans based on their body type. Here's an example of how to use it:

```python
from kelpie_personal_trainer import body_type

# Get the body type
my_body_type = body_type_checker.check_body(photo_path, gender='male')

my_body_type = my_body_type[0] # Automaticly detect body type

# Generate the workout plan
workout_plan = body_type.get_menu(my_body_type)

# Print the workout plan
print(json.dumps(workout_plan, indent=4))
```

### 3. Accuracy and Movement Counter

The `workout_plan_generator` module helps users generate personalized workout plans based on their body type. Here's an example of how to use it:

```python
from kelpie_personal_trainer import accuracy_and_counter

# Get the video input
video_path = "./video.mp4"


accuracy_and_counter.check_move('pushup', video) #processing the video input
```

## Contributing

Contributions to the Kelpie Personal Trainer library are welcome! If you find any issues or have suggestions for improvements, please feel free to submit a pull request or open an issue on the GitHub repository.

## License

This library is released under the [MIT License](https://opensource.org/licenses/MIT).

## Contact

For any inquiries or questions, please contact us at [arillesmana2001@gmail.com](mailto:arillesmana2001@gmail.com).

Visit our website: [https://www.kelpiepersonaltrainer.com](https://www.kelpiepersonaltrainer.com)