A simple Pomodoro Timer application built with Python and Tkinter. This application allows users to manage their work and break intervals using the Pomodoro Technique. It features a graphical user interface (GUI) where users can start, pause, and stop the timer, as well as customize the length of work and break intervals.
- Work and Break Intervals: Default intervals set to 25 minutes for work and 5 minutes for break.
- Customizable Intervals: Users can manually adjust the length of the work and break intervals.
- Start, Pause, and Stop Controls: Full control over the timer with dedicated buttons.
- Real-Time Countdown Display: A visible countdown timer shows the remaining time for the current session.
- Popup Notifications: Alerts users when it's time to take a break and when the break is over.
- Sound Playback: Optional sound notifications that repeat until the user dismisses the popup.
- Continuous Loop: The timer alternates between work and break intervals until the user pauses or stops it.
- Graceful Shutdown: The application stops the timer and closes cleanly when the window is closed.
- Python 3.x installed on your machine (for running from source).
git clone https://github.com/yourusername/pomodoro-timer.git
cd pomodoro-timer
Before running the project, it's recommended to create a virtual environment to manage dependencies:
-
On Windows (PowerShell):
python -m venv venv .\venv\Scripts\Activate
-
On macOS/Linux:
python3 -m venv venv source venv/bin/activate
After activating the virtual environment, install the required packages using requirements.txt
:
pip install -r requirements.txt
To run the application directly:
python pomodoro_timer.py
To create an executable using PyInstaller:
pyinstaller --onefile --windowed --icon=assets/pomodoro_icon.ico --name=PomodoroTimer pomodoro_timer.py
If you prefer to use the standalone executable version, you can download it from the releases page on GitHub. This version does not require Python to be installed on your machine.
- Go to the releases page.
- Download the latest executable from the "Assets" section.
- Run the downloaded executable to start the Pomodoro Timer.
- Work Interval: Set your desired work interval (in minutes) using the input field.
- Break Interval: Set your desired break interval (in minutes) using the input field.
- Start Timer: Click the "Start" button to begin the countdown. The timer will alternate between work and break intervals.
- Pause Timer: Click the "Pause" button to pause the timer. You can resume it by clicking "Pause" again (which will be labeled "Resume").
- Stop Timer: Click the "Stop" button to stop the timer and reset it to the initial work interval.
- Close the Application: The application will automatically stop the timer and close when you close the window.
pomodoro-timer/
│
├── pomodoro_timer.py # Main script to run the application
├── timer.py # Timer logic and threading
├── notifications.py # Notification handling
├── gui.py # GUI components and logic
└── assets/ # Contains resources like icons
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes.
- Push your branch and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.