Final Result

code

You must install Time, termcolor and plyer library By typing "pip install time",
"pip install termcolor"
"pip install plyer" on the command prompt after install python app and vscode by default you run and debugon vscode


                              import time
                              import sys
                              from termcolor import colored
                              from plyer import notification
                              
                              def Pomodoro():
                                  pomodoro_duration = 45  # in minutes
                                  break_duration = 15  # in minutes
                              
                                  sessions = 4
                              
                                  completed_pomodoros = 0  # Keep track of completed pomodoros
                                  while completed_pomodoros < 4:
                                      print("Starting a new pomodoro session for {} minutes".format(pomodoro_duration))
                                      print("You still have {} sessions.".format(sessions))
                                      for i in range(pomodoro_duration * 60, 0, -1):
                                          minutes, seconds = divmod(i, 60)
                                          progress = (pomodoro_duration * 60 - i) / (pomodoro_duration * 60)
                                          progress_bar = int(progress * 20)
                                          progress_string = "|" + "=" * progress_bar + " " * (20 - progress_bar) + "|"
                                          sys.stdout.write("\r" + colored(f"Time left: {minutes:02d}:{seconds:02d} {progress_string}", "yellow"))
                                          sys.stdout.flush()
                                          time.sleep(1)
                                          
                                      print("\nTime's up! Take a break.")
                                      completed_pomodoros += 1
                                      sessions -= 1
                                      
                                      notification.notify(
                                              title="pomodoro",
                                              message="Time is up!",
                                              app_name="pomodoro",
                                              timeout=5
                                          )
                              
                                      print("Starting break for {} minutes".format(break_duration))
                                      for i in range(break_duration * 60, 0, -1):
                                          minutes, seconds = divmod(i, 60)
                                          progress = (break_duration * 60 - i) / (break_duration * 60)
                                          progress_bar = int(progress * 20)
                                          progress_string = "|" + "=" * progress_bar + " " * (20 - progress_bar) + "|"
                                          sys.stdout.write("\r" + colored(f"Time left: {minutes:02d}:{seconds:02d} {progress_string}", "green"))
                                          sys.stdout.flush()
                                          time.sleep(1)
                              
                                      print("\n Break Ended.")
                                      notification.notify(
                                              title="pomodoro",
                                              message="Break Ended!",
                                              app_name="pomodoro",
                                              timeout=5
                                          )
                                          
                              
                                  print("\n You Finished.")
                                  notification.notify(
                                              title="pomodoro",
                                              message="You Finished",
                                              app_name="pomodoro",
                                              timeout=5
                                          )
                              
                              
                              Pomodoro()
                              
                                .© Copyright Arsani-Tech. All rights reserved
                            
download Code

please change pomodoro_duration to 45 and break_duration to 15 if you download code