{ "info": { "author": "Kathy Qian", "author_email": "hello@kathyqian.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Routinemaker\n\nRoutinemaker is a Python CLI that generates strength, cardio, and HIIT exercise routines using parametric curves. Routines are saved as Excel spreadsheets. See [routinemaker.me](https://routinemaker.me) for documentation.\n\n## Installation\n\nRoutinemaker is a Python 3 package and can be installed through `pip`.\n\n`$ pip install routinemaker`\n\n## Usage\n\nRun Routinemaker from the command line. The command does not take any options. You will be prompted as the generator walks through all the options.\n\n`$ routinemaker`\n\n## Outputs\n\nRoutinemaker generates formatted Excel spreadsheets. You can either print out the spreadsheets or upload them to the cloud (ie: Google Drive) to make them easier to use during workouts. Below are screenshots, downloadable files, and a brief usage guide for sample routines.\n\n### Strength ([download](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/xlsx/strength.xlsx))\n\n_Usage:_ On Day 1, do 2 sets of 5 reps of dumbbell goblet squats with 50 pounds of weight, then do 2 sets of 3 reps of barbell bench presses with 20 pounds of weight. Mark an \"X\" in the corresponding white box as you finish each set.\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/strength.png)\n\n### Cardio ([download](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/xlsx/cardio.xlsx))\n\n_Usage:_ On Day 1, run for 2.5 minutes, then rest by walking. Next, run for 1.5 minutes, then rest by walking. Finish all 6 intervals and mark an \"X\" in the corresponding white box as you progress.\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/cardio.png)\n\n### HIIT ([download](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/xlsx/HIIT.xlsx))\n\n_Usage:_ On Day 1, do 2 sets of 9 reps of bodyweight side lunges for each side, then do 2 sets of 5 reps of bodyweight jump squats, then do 2 sets of 10-second bodyweight forearm planks. Mark an \"X\" in the corresponding white box as you finish each set.\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/HIIT.png)\n\n## Customizations\n\nRoutinemake is meant to be customized to your preferences. In particular, you may want to modify the list of exercises or tweak the equations for the curves used to generate the workouts.\n\n### Exercises\n\nYou can customize the list of exercises that Routinemaker uses to generate workouts. The exercises are stored in `data/exercises.json`. Each exercise in the json file includes settings for _type_ (ie: strength), muscle _group_ (ie: chest), _variations_ (ie: by equipment), _unit_ of measurement (ie: reps or seconds), _minimum_ units, _maximum_ units, and the _step_ for incrementing the units.\n\n### Curves\n\nYou can also customize the curves that Routinemaker uses to generate workouts. The calculation logic is stored in `routine.py`. Routinemaker comes with 3 default curves: _linear_ (constant increase in difficulty), _exponential_ (starts off easy and escalates in difficulty towards the end), and _logarithmic_ (ramps up quickly).\n\n## Workflow\n\nRoutinemaker works by prompting for a variety of settings and then feeding the parameters into curves in order to generate workouts for each day. Below are a few sample screenshots of the workflow and a summary of all the prompts and options.\n\n### Splash Screen\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/splashscreen.png)\n\n### Filtering Equipment for Strength Exercises\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/equipment.png)\n\n### Manually Selecting Strength Exercises\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/manualstrength.png)\n\n### Choosing Random List of HIIT Exercises\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/randomHIIT.png)\n\n### Editing Cart of Exercises\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/editcart.png)\n\n### Choosing Goals for Strength Exercises\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/strengthgoals.png)\n\n### Configuring Intervals for Cardio Exercises\n\n![](https://raw.githubusercontent.com/kathyqian/routinemaker/master/docs/img/configurecardio.png)\n\n### Summary of Prompts and Options\n\n```\n\u251c\u2500\u2500 What type of routine do you want to create?\n\u2502 \u251c\u2500\u2500 STRENGTH\n\u2502 \u2502 \u251c\u2500\u2500 What type of equipment do you have access to?\n\u2502 \u2502 \u2514\u2500\u2500 How would you like to choose the exercises for your routine?\n\u2502 \u2502 \u251c\u2500\u2500 START WITH A RANDOM LIST OF EXERCISES\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 Which muscle groups do you want to train?\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 How many exercises do you want in your routine?\n\u2502 \u2502 \u2514\u2500\u2500 MANUALLY ADD EXERCISES [\u221e]\n\u2502 \u2502 \u251c\u2500\u2500 Pick a muscle group to browse exercises to add\n\u2502 \u2502 \u2514\u2500\u2500 Which exercise would you like to add?\n\u2502 \u251c\u2500\u2500 CARDIO\n\u2502 \u2502 \u2514\u2500\u2500 Which cardio activity would you like to do?\n\u2502 \u2502 \u2514\u2500\u2500 Which specific exercise would you like to work on?\n\u2502 \u2514\u2500\u2500 HIIT\n\u2502 \u2514\u2500\u2500 How would you like to choose the exercises for your routine?\n\u2502 \u251c\u2500\u2500 START WITH A RANDOM LIST OF EXERCISES\n\u2502 \u2502 \u251c\u2500\u2500 Which muscle groups do you want to train?\n\u2502 \u2502 \u2514\u2500\u2500 How many exercises do you want in your routine?\n\u2502 \u2514\u2500\u2500 MANUALLY ADD EXERCISES [\u221e]\n\u2502 \u251c\u2500\u2500 Pick a muscle group to browse exercises to add\n\u2502 \u2514\u2500\u2500 Which exercise would you like to add?\n\u251c\u2500\u2500 Do you need to edit or reorder the exercises in your routine? [\u221e]\n\u2502 \u251c\u2500\u2500 YES\n\u2502 \u2502 \u2514\u2500\u2500 What would you like to do?\n\u2502 \u2502 \u251c\u2500\u2500 ADD EXERCISE\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 Pick a muscle group to browse exercises to add\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 Which exercise would you like to add?\n\u2502 \u2502 \u251c\u2500\u2500 REMOVE EXERCISE\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 Which exercise would you like to remove?\n\u2502 \u2502 \u251c\u2500\u2500 SWAP EXERCISE\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 Which exercise would you like to swap?\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 [STRENGTH/HIIT]\n\u2502 \u2502 \u2502 \u2502 \u251c\u2500\u2500 Pick a muscle group to browse exercises to add\n\u2502 \u2502 \u2502 \u2502 \u2514\u2500\u2500 Which exercise would you like to add?\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 [CARDIO]\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 Which exercise would you like to add?\n\u2502 \u2502 \u2514\u2500\u2500 REORDER EXERCISE\n\u2502 \u2502 \u251c\u2500\u2500 Which exercise would you like to move?\n\u2502 \u2502 \u2514\u2500\u2500 Which exercise would you like to move it before?\n\u2502 \u2514\u2500\u2500 NO\n\u251c\u2500\u2500 How many weeks would you like your routine to last?\n\u251c\u2500\u2500 How many days per week are you planning on exercising?\n\u251c\u2500\u2500 [FOR EACH EXERCISE]\n\u2502 \u251c\u2500\u2500 Which variation of EXERCISE do you plan on doing?\n\u2502 \u251c\u2500\u2500 How many continuous UNITS of ACTIVITY are you currently comfortable with?\n\u2502 \u251c\u2500\u2500 How many continuous UNITS of ACTIVITY is your goal?\n\u2502 \u2514\u2500\u2500 [STRENGTH]\n\u2502 \u251c\u2500\u2500 What weight are you currently using for ACTIVITY?\n\u2502 \u2514\u2500\u2500 What's your goal weight for ACTIVITY?\n\u251c\u2500\u2500 [STRENGTH/HIIT]\n\u2502 \u251c\u2500\u2500 What's the mininum number of sets you'd like to do for each exercise?\n\u2502 \u2514\u2500\u2500 What's the maximum number of sets you'd like to do for each exercise?\n\u251c\u2500\u2500 [CARDIO]\n\u2502 \u251c\u2500\u2500 What's the maximum number of intervals you want in your routine?\n\u2502 \u2514\u2500\u2500 Please choose a random number to seed the routine\n\u251c\u2500\u2500 What type of curve do you want to use to create your routine?\n\u2502 \u251c\u2500\u2500 LINEAR\n\u2502 \u251c\u2500\u2500 EXPONENTIAL\n\u2502 \u2514\u2500\u2500 LOGARITHMIC\n\u2514\u2500\u2500 What do you want to name the output file?\n```\n\n## Disclaimer\n\nRoutinemaker is an automated engine that generates workout routines independent of your physical ability. Generated workouts may not be suitable for your level of fitness. Please use common sense. You should see your healthcare provider before starting a new exercise program.\n\n## License\n\nRoutinemaker was created and [open-sourced](https://github.com/kathyqian/routinemaker) under the [MIT License](https://github.com/kathyqian/routinemaker/blob/master/LICENSE) by [Kathy Qian](https://kathyqian.com/).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kathyqian/routinemaker", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "routinemaker", "package_url": "https://pypi.org/project/routinemaker/", "platform": "", "project_url": "https://pypi.org/project/routinemaker/", "project_urls": { "Homepage": "https://github.com/kathyqian/routinemaker" }, "release_url": "https://pypi.org/project/routinemaker/0.5.3/", "requires_dist": [ "click", "pyfiglet", "XlsxWriter", "numpy", "setuptools" ], "requires_python": "", "summary": "A Python CLI that generates strength, cardio, and HIIT exercise routines using parametric curves", "version": "0.5.3" }, "last_serial": 5241386, "releases": { "0.5.3": [ { "comment_text": "", "digests": { "md5": "37ef003ca0ad599c3f16656312b6906c", "sha256": "4c8bf7034a06f09b3f9afaebeaa0b351f9425d1d9481b8162b7586904c136793" }, "downloads": -1, "filename": "routinemaker-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "37ef003ca0ad599c3f16656312b6906c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12304, "upload_time": "2019-05-08T04:57:58", "url": "https://files.pythonhosted.org/packages/29/df/7d8bdf32eb8390134c84b54f62bf85100449b8b75f092d9f4d72808c636c/routinemaker-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3bed5063474ee1b8ccf6549e739445e", "sha256": "56fe213cdfa91765d932bd3f3df3a40a433dba8c6b7413e885e0356bf54cb936" }, "downloads": -1, "filename": "routinemaker-0.5.3.tar.gz", "has_sig": false, "md5_digest": "b3bed5063474ee1b8ccf6549e739445e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12628, "upload_time": "2019-05-08T04:57:59", "url": "https://files.pythonhosted.org/packages/55/75/d738b323c1eb77b2fe1b807f9580fed3e853945df5d71d953cf2735a6899/routinemaker-0.5.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "37ef003ca0ad599c3f16656312b6906c", "sha256": "4c8bf7034a06f09b3f9afaebeaa0b351f9425d1d9481b8162b7586904c136793" }, "downloads": -1, "filename": "routinemaker-0.5.3-py3-none-any.whl", "has_sig": false, "md5_digest": "37ef003ca0ad599c3f16656312b6906c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12304, "upload_time": "2019-05-08T04:57:58", "url": "https://files.pythonhosted.org/packages/29/df/7d8bdf32eb8390134c84b54f62bf85100449b8b75f092d9f4d72808c636c/routinemaker-0.5.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b3bed5063474ee1b8ccf6549e739445e", "sha256": "56fe213cdfa91765d932bd3f3df3a40a433dba8c6b7413e885e0356bf54cb936" }, "downloads": -1, "filename": "routinemaker-0.5.3.tar.gz", "has_sig": false, "md5_digest": "b3bed5063474ee1b8ccf6549e739445e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12628, "upload_time": "2019-05-08T04:57:59", "url": "https://files.pythonhosted.org/packages/55/75/d738b323c1eb77b2fe1b807f9580fed3e853945df5d71d953cf2735a6899/routinemaker-0.5.3.tar.gz" } ] }