Skip to main content

A Pomodoro timer for the terminal — track study sessions, build streaks, and stay focused

Project description

pomoflow

A Pomodoro timer that runs in your terminal. Start a session, focus on what you need to do, and let pomoflow keep track of the time and your progress.

CI Python License: MIT

What is the Pomodoro technique?

You work in focused blocks of time (usually 25 minutes), then take a short break. After a few blocks, take a longer break. The idea is simple: it is easier to stay focused for 25 minutes than to sit down and "study until you're done." pomoflow handles the timing so you only have to focus on the work.

Installation

Requires Python 3.11 or newer.

pip install pomoflow

Or, if you use pipx to keep CLI tools isolated:

pipx install pomoflow

Quick start

# Start a 25-minute session
pomoflow start

# Label the session so you remember what you were doing
pomoflow start --task "Chapter 3 — Calculus"

# Custom duration
pomoflow start --minutes 50

During a session, you will see a live progress bar in the terminal. Press Ctrl+C at any time to stop early. When the session ends, your desktop will show a notification and the terminal will ring a bell.

All commands

start — begin a focus session

pomoflow start
pomoflow start --task "Physics revision"
pomoflow start --minutes 45 --task "Essay draft"
Option Short Default Description
--minutes -m from config Session duration in minutes
--task -t (none) Label for this session

config — adjust your default durations

# See current settings
pomoflow config

# Change the default session length
pomoflow config --pomodoro 50

# Change break lengths
pomoflow config --short-break 10 --long-break 20

# Go back to defaults
pomoflow config --reset
Option Default
--pomodoro 25 min
--short-break 5 min
--long-break 15 min

history — see your recent sessions

pomoflow history

# Show more entries
pomoflow history --limit 20

stats — see how you have been doing

# Summary for the last 7 days
pomoflow stats

# Last 30 days
pomoflow stats --days 30

Shows total sessions, total focus time, completion rate, current streak, and a per-day breakdown.

Data

pomoflow saves your sessions and config to ~/.pomoflow/. Nothing is sent anywhere.

~/.pomoflow/
├── history.json   # session log
└── config.json    # your preferences

Development

git clone https://github.com/guialmm/pomoflow.git
cd pomoflow
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pre-commit install --hook-type commit-msg
pre-commit install

Run tests:

pytest

Contributing

See CONTRIBUTING.md.

Changelog

See CHANGELOG.md.

License

MIT — guialmm

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

pomoflow-0.1.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

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

pomoflow-0.1.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pomoflow-0.1.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pomoflow-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4d3a2d5f965e15644d2941d79747dc538a4154248a39181cd39d1db537bbd7c6
MD5 52c5d3ce7cb55cc545c786e368880acf
BLAKE2b-256 8686182da34cec154f3d18829f1ab31d802a3ebebe7be1ed306bf45454fb3dc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pomoflow-0.1.0.tar.gz:

Publisher: release.yml on guialmm/pomoflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: pomoflow-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pomoflow-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27a0f4f03c79cc103eec628c7f67c2fc730e4f1e98980df07568481b8a85a7b9
MD5 64c86ffe3664e557d869b5360f7be5f9
BLAKE2b-256 491bc55b62e24674af725cc7b20436f1130a40a23e4cfd8b40a79e983e3e541a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pomoflow-0.1.0-py3-none-any.whl:

Publisher: release.yml on guialmm/pomoflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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