Tracking the Hours of my Week with Python
I wanted to see some percentages of how much time certain things take out of my week. This obviously does not reflect the reality and to be honest I doubt it really comes close, but I found it to be an interesting exercise.
Script Output
------------------------
Time Map:
------------------------
[29.8%] work : {'working': 40, 'commuting': 10}
[40.5%] health : {'sleep': 35, 'showers': 3.5, 'gym': 3, 'meditating': 3.5, 'cleaning_cooking': 7, 'eating': 7, 'pooping': 7, 'laundry': 2}
[16.7%] digital_entertainment: {'gaming': 7, 'watching_videos': 21}
[10.4%] learning_studying: {'reading': 7, 'learning_japanese': 3.5, 'coding_proj': 7}
------------------------
Time Used:
------------------------
[97.3] % used
[2.7] % left
------------------------
used hrs 163.5 / 168
The Script
#!/usr/bin/env python3
# this is a very simplified, rough estimate of time as there is much more
# variation and drift in these things, however the things that do not change
# for me are work, sleep (I don't usually get a full 8 hours :/)
# i know there are lots of ways to log time spent on various things and that would
# take a lot of the guess work out of these things. something to consider in the future
hrs_in_week = 24 * 7 # 168 hours in a week - that's not ever going to change
# this is a map of groups of things that i dedicate my time to
# the (++) or (--) parentheses at the end of the comments indicate what i want to spend more or less time on
hours_map = {
"work": {
"working": 8 * 5, # currently working a 9-5 schedule. this is not very cash money (--)
"commuting": 2 * 5, # an hour each way to work in the car. this does not spark joy (--)
},
"health": {
"sleep": 5 * 7, # ideally getting 8 hours of sleep (more often 4-6 is the case). I should get more sleep (++)
"showers": .5 * 7, # i take short showers (G)
"gym": 1 * 3, # if I don't skip leg day (++)
"meditating": .5 * 7, # like to spend an hour or two meditating throughout the day (++)
"cleaning_cooking": 1 * 7, # easily could be more/less (++)
"eating": 1 * 7, # could me more or less (G)
"pooping": 1 * 7, # also could be more or less (G)
"laundry": 2 # pretty much 2 hours for washing/drying/folding/putting-away clothes for the week (G)
},
"digital_entertainment": {
"gaming": 1 * 7, # usually don't even play 7 hours of games these days :< (++)
"watching_videos": 3 * 7, # usually watch more on YT or streaming. includes social media (--) (unless classic movies)
},
"learning_studying": {
"reading": 1 * 7, # reading more would be nice (++)
"learning_japanese": .5 * 7,# would like to spend an hour learning a new language (++)
"coding_proj": 1 * 7 # would also like to do more of this (++)
},
}
total_hours_used = 0
total_used_percentage = 0
print("------------------------")
print("Time Map:")
print("------------------------")
for k, v in hours_map.items():
hrs_sum = sum(v.values())
total_hours_used += hrs_sum
percentage = (hrs_sum / hrs_in_week) * 100
total_used_percentage += percentage
print(f"[{percentage:.1f}%] {k : <15}: {v} ")
print("------------------------")
print("Time Used:")
print("------------------------")
print(f"[{total_used_percentage:.1f}] % used")
print(f"[{100 - total_used_percentage:.1f}] % left")
print("------------------------")
print()
print("used hrs", total_hours_used, "/", hrs_in_week)
print()
You can take this, modify it to what you spend time on and see what you can change around.
I would like to iterate on this script to keep track of the things I want to spend more and less time on in the future.