Skip to main content

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

Project description

# Created 2023-10-14 Sat 14:28
#+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 (lbs) or kilograms (kg), 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 or bodyweight changes.

#+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 ~ic~, generates a random iron cardio workout.
#+begin_src bash
kettlebells workout ic
#+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. The current options are:
- ic
- abc
- btb


When run with no argument, the ~done~ command will attempt to use the most recently generated random workout. 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

**** btb

The done command with an argument of ~btb~ will allows the user to save a Back to Basics Workout. These workouts are constructed based on The Pat Flynn Show episode with Dan John [[https://patflynnshow.libsyn.com/the-best-kettlebell-program-for-beginners-the-btbkp][The BEST Kettlebell Program for GEGINNERS | THE BTBKP]]. The choices are ladders of 2-3-5 clean and presses followed by either snatches or double front squats. The warm up and cool exercises are not included in the workout.

#+begin_src
kettlebells done btb
#+end_src

The program options are:

|-------------+----------------------------------|
| First block | Second Block |
|-------------+----------------------------------|
| 2 ladders | 60 Snatches |
| 3 ladders | 80 Snatches |
| 5 ladders | 100 Snatches |
|-------------+----------------------------------|
| 2 ladders | 10 sets of 5 Double Front Squats |
| 3 ladders | 10 sets of 5 Double Front Squats |
| 5 ladders | 10 sets of 5 Double Front Squats |
|-------------+----------------------------------|

*** 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.6.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kettlebells-0.2.6-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kettlebells-0.2.6.tar.gz
  • Upload date:
  • Size: 23.4 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.6.tar.gz
Algorithm Hash digest
SHA256 7c9a5b8d6d7242d162a95d89220387997f6d92d859ab189b4060f96f4ca9fbdc
MD5 3caa6e9c9fe8422c7d2ec57517c965d8
BLAKE2b-256 ac7ff12fdcc8603501dfbbfcba1a77e7c6352288a9a0a2c5756b0a91a666831b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kettlebells-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 24.1 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a742f8de7f1f2a0b162d29a6d332228b111965179ec4e6578f625596e22175a8
MD5 4ddf12265b007a50b3642aeafe43c5b9
BLAKE2b-256 1174c5ab45c4a36f9d5f534b0717b0dffa60a5c35d833c4ddb9a7678867a6266

See more details on using hashes here.

Supported by

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