Skip to main content

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

Metadata

Release files for pomoflow 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pomoflow 0.1.0
File Size Uploaded
pomoflow-0.1.0.tar.gz 14.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pomoflow 0.1.0
File Interpreter ABI Platform
pomoflow-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.8 kB

Release files / pomoflow-0.1.0.tar.gz

Download URL pomoflow-0.1.0.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4d3a2d5f965e15644d2941d79747dc538a4154248a39181cd39d1db537bbd7c6
BLAKE2b-256 checksum
How to use checksums
8686182da34cec154f3d18829f1ab31d802a3ebebe7be1ed306bf45454fb3dc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 21, 2026.

Transparency log

Release files / pomoflow-0.1.0-py3-none-any.whl

Download URL pomoflow-0.1.0-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27a0f4f03c79cc103eec628c7f67c2fc730e4f1e98980df07568481b8a85a7b9
BLAKE2b-256 checksum
How to use checksums
491bc55b62e24674af725cc7b20436f1130a40a23e4cfd8b40a79e983e3e541a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page