/PyWorkout

A minimal CLI to keep you inspired during your workout! Easily used and customized, with support for multiple workout plans, different muscle groups and video workouts.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

PyWorkout
PyWorkout

A minimal CLI to keep you inspired during your workout!

Docker Build State PyPI Build State Pylint State CodeQL State GitHub Version GitHub Issues GitHub Pull Requests Discord Server ID Downloads GitHub Languages

Key FeaturesDownloadHow To UseSupportContributingChangelogCredits & Contributors

screenshot

Key Features

  • Easy to run and understand with simple commands.
  • Large list of muscle groups and workout activities.
  • Automatic workout selection by day.
  • Time and percentage complete indicators.
  • Step by step guide through a workout program.
  • Statistics view.
  • Can skip unlikeable workouts.
  • Able to customize number of workouts, muscle groups, type of workout and more.
  • Cross platform.

Download

You can download the source code to run the scripts from the command line on Windows, macOS and Linux. This will require Python.

You can download the latest executable version of PyWorkout for Windows. This does not require Python.

How To Use

To run the application, you can use Git and the Python Interpreter, which allows you to clone and run the application, pip to create a command line application, or Docker to create a container of the application.

Git

To clone and run this application, you'll need Git and Python installed on your computer. If you would rather not use Git, you can just download the script from GitHub above. From your command line:

# Clone this repository
$ git clone https://github.com/Dog-Face-Development/PyWorkout

# Go into the repository
$ cd PyWorkout

# Run the CLI
$ python main.py

pip

You can install the program from the Python Package Index through pip.

# Install via pip
$ pip install pyworkout

# Run the CLI
$ pyworkout

Docker

You can pull the Docker image from GitHub Packages. From your command line:

# Pull image
$ docker pull ghcr.io/dog-face-development/pyworkout:main

# Run container
$ docker run -i -t ghcr.io/dog-face-development/pyworkout:main python main.py

Support

The following commands are available (can be generated by using the help command):

list    Lists the workout activities by muscle group.
start   Starts the workout and displays the first workout activity.
next    Moves to the next workout activity.
skip    Skips the current workout activity.
end     Completes the workout and display full workout statistics.
stats   Shows workout statistics at any point (does not work with the `skip` command).
video   Opens the workout video assigned to each muscle group.
license Shows the license.
help    Prints this help text.
quit    Ends the program.

Note: the skip command cannot be used in conjunction with the stats command.

To use the video command, you must change the video variables. To do so:

  1. Open main.py in a text editor.
  2. Change the Video File Paths variables to the absolute path for each video by muscle group (double slashes (\\) are only necessary on Windows).
# Video File Paths
abs_video = "D:\\Videos\\Workout Videos\\10 Minute Ab Workout.mp4" # change these to personal video path
  1. Running the video command will now include your local workout videos.

Customizing the list of workouts, workout activities and number of activities can be found in CUSTOMIZATION.md. More documentation is available in the Documentation and on the Wiki. If more support is required, please open a GitHub Discussion or join our Discord.

Contributing

Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request.

Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests to us (including how to sign our CLA).

Changelog

See the CHANGELOG file for details.

Credits

This software uses the following open source packages, projects, services or websites:

GitHub PSF PyInstaller Carbon
GitHub Python Software Foundation PyInstaller Carbon
Web - Plans Web - Donate Web - Donate Web

Contributors

You may also like...

  • ProgramVer - An open-source, Python GUI version window to show copyright info and licenses.
  • Periodic Table Info - Print all the elements in the Periodic Table of the Elements, with an interactive prompt to learn more.
  • PyAvatar - Easily display all of your creative avatars to keep them consistent across websites.

License

This project is licensed under the GNU General Public License - see the LICENSE file for details. See the Privacy Policy, Terms and Conditions, and EULA for legal information.