Skip to main content

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.

Build and Test

Description

This package provides a simple Pomodoro timer system that allows developers to create, store, and manage timers programmatically.

PyPl Link

PyPl

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

  1. If you use Windows OS, switch to git bash and then proceed. If you use a Unix-like OS, just proceed.

  2. Clone the repository:

    $ git clone https://github.com/swe-students-spring2026/3-package-emperor_penguins.git
    
  3. Create a virtual environment using pipenv. Please make sure you global python interpreter has pipenv installed. If not, install it:

    $ python -m pip install pipenv
    
  4. After you have pipenv installed, install all dependencies and activate a virtual environment

    $ python -m pipenv install --dev
    $ python -m pipenv shell
    
  5. 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!

  6. (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

  1. Make sure you've completed all the setup steps above.

  2. Place all the test files under:

    3-package-emperor_penguins/tests
    
  3. Direct to the root directory of the project:

    $ cd xxx/3-package-emperor_penguins
    
  4. 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

image.png

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

pomodoro_penguin-1.0.3.tar.gz (50.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pomodoro_penguin-1.0.3-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

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

Hashes for pomodoro_penguin-1.0.3.tar.gz
Algorithm Hash digest
SHA256 cbb714515440e6a895f38515276ce873f8d46ba2df8581cfefc25c807b6f8742
MD5 1eda4971cc7b1d0f062e2395bf7bb2a4
BLAKE2b-256 99037398dd571f19875f63079a9cb4bcb6d384b62c75e94de28d2704615d355f

See more details on using hashes here.

File details

Details for the file pomodoro_penguin-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pomodoro_penguin-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 98e10065d73b16324449853cf2ba0e51bf78ac2df2da0a47dd2e5545da2a2e82
MD5 15047da1ca3763ca6139c181bb83f418
BLAKE2b-256 4d0565a1435a54831fd602980293f6d671b9928b21b87c68c76e0bce39a610fd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page