Skip to main content

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

Project description

# Created 2023-09-30 Sat 22:23
#+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.

* 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 ~workout~ command with the ~--iron-cardio~ flag, generates a random iron cardio session.
#+begin_src bash
kettlebells workout --iron-cardio
#+end_src

Generated sessions are built from the following parameters

|--------------------------+----------------------------|
| Parameter | Options |
|--------------------------+----------------------------|
| *Single Bell Variations* | Classic |
| | Classic + Pullup |
| | Classic + Snatch |
| | Traveling 2s |
| | Traveling 2s + Snatch |
| | Traveling 2s + Pullup |
| | Armor Building Complex 2.0 |
|--------------------------+----------------------------|
| *Double Bell Variations* | Double Classic |
| | Double Traveling 2s |
| | Double Classic + Pullup |
| | Armor Building Complex |
|--------------------------+----------------------------|
| *TIMES* | 30 mins |
| | 20 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 session, use the ~--custom~ flag. This allows the user to create a custom session.

#+begin_src
kettlebells done --custom
#+end_src

*** last
The ~last~ command displays the last saved session and calculates the amount of weight moved, the number of 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 sessions in the database.

#+begin_src bash
kettlebells stats
#+end_src

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

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

*** best
The ~best~ command displays the top ten sessions 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.1.1.tar.gz (21.0 kB view hashes)

Uploaded Source

Built Distribution

kettlebells-0.1.1-py3-none-any.whl (22.3 kB view hashes)

Uploaded Python 3

Supported by

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