Package: amIFat
Python Package ExerciseA little exercise to create a Python package, build it, test it, distribute it, and use it. Seeinstructionsfor details.DescriptionOfficial DocumentationThis is a lightweight, health-focused package that offers the following functionality:Calculates a user’s Body Mass Index determines where the user falls within the BMI scale, ranging from underweight to obeseIdentifies diseases associated with a certain, abnormal BMI level (underweight or overweight)Describes a balanced diet consisting of the amount, in grams, of proteins, carbohydrates, fat, sugar, saturated fats, as well as food energy in caloriesCalculates a user’s Active Metabolic Rate, with an option for the user to get his/her Basal Metabolic Rate.FeaturesCalculate a user's BMI and render obesity scale:howfat(age, height, weight, scale):
//Returns bmi score, scale

/More details about parameters:

* age - integer value representing age
* height - numeric value representing height
    * metric - float value in (cm)
    * imperial - float value in (in)
* weight- numeric value representing weight
    * metric - float value in (kg)
    * imperial - float value in (lbs)
* scale
    * "i" for imperial
    * "m" for metric

/Disclosure:
BMI and its respective obesity scale may not reflect a precise overview of one's health conditions, especially for ages under 18 and above 65.Return list of related diseases by BMI:fat_problems(bmi):
//Returns related diseasesCalculate a user's recommended daily calorie intake:calories(age, gender, height, weight, activityLevel, scale):
//Returns recommended daily calorie intake

/More details about parameters

* age - integer value representing age
* gender
    * "f" for female
    * "m" for male
* height - numeric value representing height
    * metric - float value in (cm)
    * imperial - float value in (in)
* weight - numeric value representing weight
    * metric - float value in (kgs)
    * imperial - float value in (lbs)
* activityLevel- numeric value (integer) representing a user's activity level
    Use scale below:
    0-Basal Metabolic Rate
    1-Sedentary: little or no exercise
    2-Lightly active: exercise 1-3 times a week
    3-Moderately active: exercise 3-5 times a week
    4-Active: exercise 6-7 times a week
    5-Very active: hard exercise 6-7 times a week
* scale
    * "i" for imperial
    * "m" for metricCalculate a user's resting energy expenditurecalculateREE(age, gender, height, weight, scale):

More details about parameters:

* age - integer value representing age
* gender
    "f" for female
    "m" for male
* height - numeric value representing height
    * metric - float value in (cm)
    * imperial - float value in (in)
* weight - numeric value representing weight
     * metric - float value in (kgs)
    * imperial - float value in (lbs)
* scale
    * "i" for imperial
    * "m" for metricCalculate a user's total daily energy expenditurecalculateTDEE(REE, userActivityLevel)

More details about parameters

* REE - Resting Energy Expenditure in calories (how many calories burned at rest)

* userActivityLevel- numeric value (integer) representing a user's activity level
    Use scale below:
    1 - Sedentary: Just everyday activities like a bit of walking, a couple of flights of stairs, eating, talking, etc. (REE X 1.2)

    2 - Lightly active: Any activity that burns an additional 200-400 calories for females or 250-500 calories for males. (REE x 1.375)

    3 - Moderately active: Any activity that burns an additional 400-650 calories for females or 500-800 calories for males. (REE x 1.55)

    4 - Very Active: Any activity that burns an additional 650+ calories for females or 800+ calories for males. (REE x 1.725)Calculate a user's target TDEE for weight loss or gainweightLossOrGainCalculator(TDEE, lossOrGain)

More details about parameters

* weight - numeric value representing weight
q   * metric - float value in (kgs)
    * imperial - float value in (lbs)

* lossOrGain
    * 'l' for loss - aiming to lose weight
    * 'g' for gain - aiming to gain weight
* scale
    * "i" for imperial
    * "m" for metricCalculate ideal macronutrient ratios for a given weight and TDEEmacros(weight, targetTDEE, scale)

More details about parameters

* TDEE - total daily energy expenditure in calories (amount of energy your body burns in a day)

* lossOrGain
    * 'l' for loss - aiming to lose weight
    * 'g' for gain - aiming to gain weightHow to Install and Use this PackageNavigate to your desired root directory and executepipenv install -i https://pypi.org/simple/amIFat==1.1.0(Prof B's note: if you've previously created a pipenv virtual environment in the same directory, you may have to delete the old one first. Find out where it is located with the pipenv --venv command.)Activate virtual environment withpipenv shellCreate a python program in the directory and import all the functions in theamIFatpackage with//some imports you can make
from amIFat.macros import *
from amIFat.calories import *
from amIFat.howfat import *
from amIFat.fat_problems import *Install the amIFat package withpipenv install amifatensure that the package is installed in your pipenv withpip listImplement the functions in your program and run it withpython3 path/to/yourProgram.pyExit the virtual environment withexitHow to Run Example Apppython3 src/amIFatApp/app.pyAuthorsLee, BrianPointi, BhavigSeo, MishaTalgatuly, Sagynbek