Skip to main content

A CLI tool to create, save, and track progress of kettlebell workouts.

Project description

# Created 2023-10-09 Mon 20:58
#+options: toc:t
#+title: kettlebells
#+author: Russell Helmstedter
#+description: README file for iron-cardio cli tool
#+keywords: kettlebells, iron cardio, cli
#+language: en
#+export_file_name: ../README.org

kettlebells is a CLI designed to create, save, and track the progress of kettlebell workouts. The inspiration for this project came from [[https://www.chroniclesofstrength.com/what-strength-aerobics-are-and-how-to-use-them-w-brett-jones/][Pat Flynn's conversation with Bret Jones]]. (For a more detailed look at Iron Cardio, go checkout the [[https://strongandfit.com/products/iron-cardio-by-brett-jones][Iron Cardio Book]] by Bret Jones.) After starting an [[https://github.com/rhelmstedter/iron-cardio][initial project]] that focused only on iron cardio, I wanted to be able to add more. This is essentially a fork of the iron-cardio project designed to add various workouts such as the armor building complex, and dry fighting weight.

In version 0.2.1, the way workouts are constructed has completely changed. This will allow users to construct their own custom workouts in the future. It will also allow the stats to keep track of how many reps of each type of exercise have been done.

* Installation
Use [[https://github.com/pypa/pipx][pipx]]
#+begin_src bash
pipx install kettlebells
#+end_src
* Usage
** Initialize
Run the ~init~ command. This creates the database.

#+begin_src bash
kettlebells init
#+end_src

Next, run the ~setloads~ command. This sets the units to either pounds or kilograms, the user's bodyweight, and the loads for the light, medium, and heavy kettlebell. This command can be run as needed when the user is ready to move up in load.

#+begin_src bash
kettlebells setloads
#+end_src

** Commands
*** workout
The work out command generates a random workout. The current options are:
- ~iron-cardio~
- ~abc~

**** iron-cardio
The ~workout~ command with an argument of ~iron-cardio~, generates a random iron cardio workout.
#+begin_src bash
kettlebells workout iron-cardio
#+end_src

Iron cardio workouts are built from the following parameters:

|--------------------------+-------------------------|
| Parameter | Options |
|--------------------------+-------------------------|
| *Single Bell Variations* | Classic |
| | Classic + Pullup |
| | Classic + Snatch |
|--------------------------+-------------------------|
| *Double Bell Variations* | Double Classic |
| | Double Classic + Pullup |
|--------------------------+-------------------------|
| *TIMES* | 30 mins |
| | 20 mins |
| | 10 mins |
|--------------------------+-------------------------|
| *LOADS* | heavy |
| | medium |
| | light |
|--------------------------+-------------------------|
| *SWINGS* | 0 - 150 |

**** abc
The workout command with an argument of ~abc~ will generate a random armor building complex workout.

#+begin_src
kettlebells workout abc
#+end_src

|--------------------------+----------------------------|
| Parameter | Options |
|--------------------------+----------------------------|
| *Single Bell Variations* | Armor Building Complex 2.0 |
|--------------------------+----------------------------|
| *Double Bell Variations* | Armor Building Complex |
|--------------------------+----------------------------|
| *TIMES* | 25 mins |
| | 20 mins |
| | 15 mins |
| | 10 mins |
|--------------------------+----------------------------|
| *LOADS* | heavy |
| | medium |
| | light |
|--------------------------+----------------------------|
| *SWINGS* | 0 - 100 |

*** done
The ~done~ command saves the most recently generated workout to the database.

#+begin_src
kettlebells done
#+end_src

To save a custom workout, add the workout type as an argument. For example, to save a custom Armor Building Complex workout use an argument of ~abc~.

#+begin_src
kettlebells done abc
#+end_src

*** last
The ~last~ command displays the last saved workout and calculates the amount of weight moved, the total reps, and the pace (sec/rep).

#+begin_src bash
kettlebells last
#+end_src

*** stats
The ~stats~ command displays the aggregated weight moved, number of reps, and pace for all workout in the database.

#+begin_src bash
kettlebells stats
#+end_src

To plot the weight moved per workout, use the ~--plot~ flag.

#+begin_src bash
kettlebells stats --plot
#+end_src

*** best
The ~best~ command displays the top ten workout based on the weight moved.
#+begin_src bash
kettlebells best
#+end_src

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kettlebells-0.2.3.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

kettlebells-0.2.3-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file kettlebells-0.2.3.tar.gz.

File metadata

  • Download URL: kettlebells-0.2.3.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.4 Darwin/22.6.0

File hashes

Hashes for kettlebells-0.2.3.tar.gz
Algorithm Hash digest
SHA256 54d6fcf4a40b426165d5b6cd9cee0a83dd2c6968d24c4e5ea9f52bc01534bbb3
MD5 04e51149f93c714311d594254289fffc
BLAKE2b-256 2df013f2058de2e7191ce584687d96edfdce2702b8730580af0e502d2bf539fe

See more details on using hashes here.

File details

Details for the file kettlebells-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: kettlebells-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.4 Darwin/22.6.0

File hashes

Hashes for kettlebells-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2efbac740c1e4feb93f4a0fd79a73d4b6bfd39240b285d6c74bea5f7b1d540bf
MD5 8b0aaa745c2bf0469c5423b773c7a72d
BLAKE2b-256 2847170f75993a3925090d8056d13a1b35615014c83ef5685d5b167bd7992b31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page