Simple Reminder App
Abstract
Simple Reminder App is a practical Python application that helps users set reminders with desktop notifications. The app allows users to input a reminder message and specify when they want to be reminded (in minutes). After the specified time, the application displays a desktop notification with the reminder message. This project demonstrates working with time delays, desktop notifications, and user input handling. The app includes versions for both Windows (using plyer) and Mac (using pync).
Prerequisites
- Python 3.6 or above
- A code editor or IDE
- plyer module (for Windows)
- pync module (for Mac)
Before you Start
Before starting this project, you must have Python installed on your computer. If you don’t have Python installed, you can download it from here. You must have a code editor or IDE installed on your computer. If you don’t have any code editor or IDE installed, you can download Visual Studio Code from here. You must have the required modules installed on your computer. Install the appropriate module based on your operating system:
For Windows:
C:\Users\Your Name>pip install plyer
C:\Users\Your Name>pip install plyer
For Mac:
$ pip install pync
$ pip install pync
Getting Started
Create a Project
- Create a folder named
simple-reminder-app
simple-reminder-app
. - Open the folder in your favorite code editor or IDE.
- Create a file named
simplereminderapp.py
simplereminderapp.py
. - Copy the given code and paste it in your
simplereminderapp.py
simplereminderapp.py
file.
Write the Code
- Copy and paste the following code in your
simplereminderapp.py
simplereminderapp.py
file.
⚙️ Simple Reminder App
# Simple Reminder App
# Reminder App For Windows
# Import Modules
import time
import datetime
from plyer import notification
# Defining Functions
def print_pause(message_to_print):
print(message_to_print)
time.sleep(2)
def reminder():
print_pause("What would you like to be reminded about?")
reminder = input("Enter your reminder: ")
print_pause("In how many minutes would you like to be reminded?")
minutes = input("Enter minutes: ")
print_pause("Reminder set!")
time.sleep(int(minutes) * 60)
notification.notify(
title = "Reminder",
message = reminder,
timeout = 10
)
print_pause("Reminder: " + reminder)
print_pause("Reminder Completed!")
play_again()
def play_again():
print_pause("Would you like to set another reminder?")
while True:
choice = input("Enter yes or no: ")
if choice == "yes":
print_pause("Great!")
reminder()
break
elif choice == "no":
print_pause("Thank you for using the Reminder App!")
break
else:
print_pause("Please enter yes or no: ")
def intro():
print_pause("Welcome to the Reminder App!")
print_pause("This app will remind you about anything you want!")
print_pause("Let's get started!")
reminder()
# Calling Functions
intro()
# Reminder App For Mac
# import time
# import datetime
# import pync
# # Defining Functions
# def print_pause(message_to_print):
# print(message_to_print)
# time.sleep(2)
# def reminder():
# print_pause("What would you like to be reminded about?")
# reminder = input("Enter your reminder: ")
# print_pause("In how many minutes would you like to be reminded?")
# minutes = input("Enter minutes: ")
# print_pause("Reminder set!")
# time.sleep(int(minutes) * 60)
# pync.notify(reminder, title="Reminder", sound="default")
# print_pause("Reminder: " + reminder)
# print_pause("Reminder Completed!")
# play_again()
# def play_again():
# print_pause("Would you like to set another reminder?")
# while True:
# choice = input("Enter yes or no: ")
# if choice == "yes":
# print_pause("Great!")
# reminder()
# break
# elif choice == "no":
# print_pause("Thank you for using the Reminder App!")
# break
# else:
# print_pause("Please enter yes or no: ")
# def intro():
# print_pause("Welcome to the Reminder App!")
# print_pause("This app will remind you about anything you want!")
# print_pause("Let's get started!")
# reminder()
# # Calling Functions
# intro()
# Simple Reminder App
# Reminder App For Windows
# Import Modules
import time
import datetime
from plyer import notification
# Defining Functions
def print_pause(message_to_print):
print(message_to_print)
time.sleep(2)
def reminder():
print_pause("What would you like to be reminded about?")
reminder = input("Enter your reminder: ")
print_pause("In how many minutes would you like to be reminded?")
minutes = input("Enter minutes: ")
print_pause("Reminder set!")
time.sleep(int(minutes) * 60)
notification.notify(
title = "Reminder",
message = reminder,
timeout = 10
)
print_pause("Reminder: " + reminder)
print_pause("Reminder Completed!")
play_again()
def play_again():
print_pause("Would you like to set another reminder?")
while True:
choice = input("Enter yes or no: ")
if choice == "yes":
print_pause("Great!")
reminder()
break
elif choice == "no":
print_pause("Thank you for using the Reminder App!")
break
else:
print_pause("Please enter yes or no: ")
def intro():
print_pause("Welcome to the Reminder App!")
print_pause("This app will remind you about anything you want!")
print_pause("Let's get started!")
reminder()
# Calling Functions
intro()
# Reminder App For Mac
# import time
# import datetime
# import pync
# # Defining Functions
# def print_pause(message_to_print):
# print(message_to_print)
# time.sleep(2)
# def reminder():
# print_pause("What would you like to be reminded about?")
# reminder = input("Enter your reminder: ")
# print_pause("In how many minutes would you like to be reminded?")
# minutes = input("Enter minutes: ")
# print_pause("Reminder set!")
# time.sleep(int(minutes) * 60)
# pync.notify(reminder, title="Reminder", sound="default")
# print_pause("Reminder: " + reminder)
# print_pause("Reminder Completed!")
# play_again()
# def play_again():
# print_pause("Would you like to set another reminder?")
# while True:
# choice = input("Enter yes or no: ")
# if choice == "yes":
# print_pause("Great!")
# reminder()
# break
# elif choice == "no":
# print_pause("Thank you for using the Reminder App!")
# break
# else:
# print_pause("Please enter yes or no: ")
# def intro():
# print_pause("Welcome to the Reminder App!")
# print_pause("This app will remind you about anything you want!")
# print_pause("Let's get started!")
# reminder()
# # Calling Functions
# intro()
- Save the file.
- Open the terminal in your code editor or IDE and navigate to the folder
simple-reminder-app
simple-reminder-app
.
C:\Users\Your Name\simple-reminder-app> python simplereminderapp.py
Welcome to the Reminder App!
This app will remind you about anything you want!
Let's get started!
What would you like to be reminded about?
Enter your reminder: Call mom
In how many minutes would you like to be reminded?
Enter minutes: 2
Reminder set!
# ... wait for 2 minutes ...
# Desktop notification appears: "Reminder: Call mom"
Reminder: Call mom
Reminder Completed!
Would you like to set another reminder?
Enter yes or no: no
Thank you for using the Reminder App!
C:\Users\Your Name\simple-reminder-app> python simplereminderapp.py
Welcome to the Reminder App!
This app will remind you about anything you want!
Let's get started!
What would you like to be reminded about?
Enter your reminder: Call mom
In how many minutes would you like to be reminded?
Enter minutes: 2
Reminder set!
# ... wait for 2 minutes ...
# Desktop notification appears: "Reminder: Call mom"
Reminder: Call mom
Reminder Completed!
Would you like to set another reminder?
Enter yes or no: no
Thank you for using the Reminder App!
Explanation
- Import the required modules.
import time
import datetime
from plyer import notification
import time
import datetime
from plyer import notification
- Create a utility function for printing with pauses.
def print_pause(message_to_print):
print(message_to_print)
time.sleep(2)
def print_pause(message_to_print):
print(message_to_print)
time.sleep(2)
- Create the main reminder function.
def reminder():
print_pause("What would you like to be reminded about?")
reminder = input("Enter your reminder: ")
print_pause("In how many minutes would you like to be reminded?")
minutes = input("Enter minutes: ")
print_pause("Reminder set!")
time.sleep(int(minutes) * 60)
notification.notify(
title = "Reminder",
message = reminder,
timeout = 10
)
print_pause("Reminder: " + reminder)
print_pause("Reminder Completed!")
play_again()
def reminder():
print_pause("What would you like to be reminded about?")
reminder = input("Enter your reminder: ")
print_pause("In how many minutes would you like to be reminded?")
minutes = input("Enter minutes: ")
print_pause("Reminder set!")
time.sleep(int(minutes) * 60)
notification.notify(
title = "Reminder",
message = reminder,
timeout = 10
)
print_pause("Reminder: " + reminder)
print_pause("Reminder Completed!")
play_again()
- Create a function to handle multiple reminders.
def play_again():
print_pause("Would you like to set another reminder?")
while True:
choice = input("Enter yes or no: ")
if choice == "yes":
print_pause("Great!")
reminder()
break
elif choice == "no":
print_pause("Thank you for using the Reminder App!")
break
else:
print_pause("Please enter yes or no: ")
def play_again():
print_pause("Would you like to set another reminder?")
while True:
choice = input("Enter yes or no: ")
if choice == "yes":
print_pause("Great!")
reminder()
break
elif choice == "no":
print_pause("Thank you for using the Reminder App!")
break
else:
print_pause("Please enter yes or no: ")
- Create an introduction function and start the app.
def intro():
print_pause("Welcome to the Reminder App!")
print_pause("This app will remind you about anything you want!")
print_pause("Let's get started!")
reminder()
intro()
def intro():
print_pause("Welcome to the Reminder App!")
print_pause("This app will remind you about anything you want!")
print_pause("Let's get started!")
reminder()
intro()
Platform Support
This app includes support for both Windows and Mac:
Windows Version: Uses the plyer
plyer
library for cross-platform notifications.
Mac Version: Uses the pync
pync
library for native Mac notifications with sound support.
The code includes both implementations - simply uncomment the appropriate version for your operating system.
Features
- Set custom reminder messages
- Specify reminder time in minutes
- Desktop notifications with title and message
- Option to set multiple reminders
- Cross-platform support (Windows and Mac)
- User-friendly command-line interface
- Sound notifications (Mac version)
- 10-second notification timeout
How to Use
- Run the application
- Enter your reminder message when prompted
- Specify the number of minutes until the reminder
- Wait for the specified time
- Receive a desktop notification with your reminder
- Choose to set another reminder or exit
Next Steps
You can enhance this project by:
- Adding a GUI interface using Tkinter
- Implementing recurring reminders (daily, weekly)
- Adding sound customization options
- Creating a web-based version
- Adding reminder categories and priorities
- Implementing snooze functionality
- Adding reminder history and logs
- Creating mobile app integration
Troubleshooting
- Notifications not appearing: Make sure notification permissions are enabled for Python on your system
- Module import errors: Ensure you’ve installed the correct module for your operating system
- Sound not working: Check system volume and notification settings
Conclusion
In this project, we learned how to create a Simple Reminder App using Python. We explored working with time delays using the time
time
module, desktop notifications using platform-specific libraries, and user input handling. This project demonstrates practical application development and cross-platform compatibility considerations. To find more projects like this, you can visit Python Central Hub.
Was this page helpful?
Let us know how we did