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-timerBefore 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.txtTo run the application directly:
python pomodoro_timer.pyTo create an executable using PyInstaller:
pyinstaller --onefile --windowed --icon=assets/pomodoro_icon.ico --name=PomodoroTimer pomodoro_timer.pyIf 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.