A simple terminal-based Pomodoro timer system
Project description
Python Package Exercise
An exercise to create a Python package, build it, test it, distribute it, and use it. See instructions for details.
Description
This package provides a simple Pomodoro timer system that allows developers to create, store, and manage timers programmatically.
PyPl Link
Contributors
For Users
Installation
Install the package via PyPI:
$ python -m pip install pomodoro-penguin
or if you are installing locally:
$ git clone https://github.com/swe-students-spring2026/3-package-emperor_penguins.git
$ cd 3-package-emperor_penguins
$ python -m pip install .
Running the Pomodoro Timer
After installing, you can run the terminal-based Pomodoro timer as follows:
$ python -m pomodoro --work 25 --break 5 --cycles 4
Parameters
--work(-w) — Work duration in minutes (default: 25)--break(-b) — Break duration in minutes (default: 5)--cycles(-c) — Number of Pomodoro cycles (default: 4)--history– Print history of Pomodoro cycles with its ID and Durations--use-timer- Paste timer ID from history and run it normally--version(-v) — Show the version of the Pomodoro TUI and exit
Example
python -m pomodoro -w 10 -b 3 -c 2
This will start a Pomodoro session with:
- 10 minutes of work
- 3 minutes of break
- 2 cycles in total
The terminal will show the current sub-session and a progress bar for either studying or resting.
For Developers
How to Contribute
-
If you use Windows OS, switch to git bash and then proceed. If you use a Unix-like OS, just proceed.
-
Clone the repository:
$ git clone https://github.com/swe-students-spring2026/3-package-emperor_penguins.git
-
Create a virtual environment using
pipenv. Please make sure you global python interpreter haspipenvinstalled. If not, install it:$ python -m pip install pipenv
-
After you have
pipenvinstalled, install all dependencies and activate a virtual environment$ python -m pipenv install --dev $ python -m pipenv shell
-
Now you should've noticed a prompt prefix in the terminal:
(3-package-emperor_penguins) xxx$
This indicates that you've been placed in a virtual environment!
-
(optional) Note that in some cases after your entry to the virtual environment, the texts that you code in the prompt might be invisible. Whenever this happens, run:
$ stty echo
and return. Now the texts you code should be visible again.
Run Coverage Tests
-
Make sure you've completed all the setup steps above.
-
Place all the test files under:
3-package-emperor_penguins/tests -
Direct to the root directory of the project:
$ cd xxx/3-package-emperor_penguins
-
Run the automatic coverage test script:
$ source run-test.sh
- Ideally, this will launch an automatic testing and display the coverage result in the default web browser.
Example Code
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pomodoro_penguin-1.0.3.tar.gz.
File metadata
- Download URL: pomodoro_penguin-1.0.3.tar.gz
- Upload date:
- Size: 50.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbb714515440e6a895f38515276ce873f8d46ba2df8581cfefc25c807b6f8742
|
|
| MD5 |
1eda4971cc7b1d0f062e2395bf7bb2a4
|
|
| BLAKE2b-256 |
99037398dd571f19875f63079a9cb4bcb6d384b62c75e94de28d2704615d355f
|
File details
Details for the file pomodoro_penguin-1.0.3-py3-none-any.whl.
File metadata
- Download URL: pomodoro_penguin-1.0.3-py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98e10065d73b16324449853cf2ba0e51bf78ac2df2da0a47dd2e5545da2a2e82
|
|
| MD5 |
15047da1ca3763ca6139c181bb83f418
|
|
| BLAKE2b-256 |
4d0565a1435a54831fd602980293f6d671b9928b21b87c68c76e0bce39a610fd
|