Skip to main content

Pomodoro Terminal Timer & Manager

Project description

PTTM - Pomodoro Terminal Timer & Manager

PTTM is a terminal-based Pomodoro app built with Textual. It provides a timer, task tracking, and configurable work/break settings in a compact TUI.

Features

  • Pomodoro timer with focus, short break, and long break modes
  • Task list with per-task Pomodoro counts
  • Persistent configuration stored as JSON
  • Keyboard shortcuts for common timer and task actions
  • In-app settings tab for adjusting timing values

Requirements

  • Python 3.10 or newer

Installation

Install the dependencies from the project root:

pip install -r requirements.txt

Run

From the repository root, start the app with:

python pttm.py

You can also run the app module directly:

python -m pttm.app

Keyboard Shortcuts

  • q quit
  • s start or pause the timer
  • r reset the current timer
  • ctrl+r reset the full session
  • k skip to the next timer mode
  • f switch to focus mode
  • g switch to short break mode
  • b switch to long break mode
  • t focus the new task input
  • ctrl+p show or hide the shortcuts screen

Configuration

The app reads and writes a JSON config file. By default, the file is stored in your user config directory. You can override the location by setting PMO_CONFIG_PATH before launch.

Example:

export PMO_CONFIG_PATH=./pmo_config.json
python pttm.py

The config includes timer settings, completed focus session count, and task data.

Tests

Run the test suite with:

python -m unittest test_pttm.py

Project Layout

  • pttm/app.py application entry point
  • pttm/config.py config load/save helpers
  • pttm/clock.py ASCII clock rendering
  • pttm/widgets/ UI components
  • pttm/pttm.css Textual stylesheet

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

pttm-0.1.0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

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

pttm-0.1.0-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file pttm-0.1.0.tar.gz.

File metadata

  • Download URL: pttm-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for pttm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3c06989061ea3b9841ce74b01d736755439b253ed42a459d18537b0ae5e3de1b
MD5 b0021480a9b0c5a1c55889eb3410c8df
BLAKE2b-256 4e67b4937600e1c69f953f9a89be4dd7cc2e75b22421756fab25a3ab990c90e2

See more details on using hashes here.

File details

Details for the file pttm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pttm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for pttm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 91ecf10a2be7a85f54fcbc893adc3c88c35072fe43ae2d4fc577f526b6d6bc9b
MD5 f44cacc6e070e0dc26a045bf3fecfe64
BLAKE2b-256 02e375138a7724240e5019490f830e99301684693495ee7fea9a026faaee0693

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