focus timer that lives in your terminal, not in a browser tab.
pomodoro timer for people who already live in the terminal. saves sessions, tags them, shows a github-style heatmap of the days you actually showed up. sits in your macOS menu bar if you want it to.
$ tempo start --tag uni --duration 25 ╭─── tempo ───────────────────────────────────────────╮ │ │ │ UNI • today · 4th session • target 25:00 │ │ │ │ ╭──╮ ╭──╮ ╭──╮ ╷ │ │ ├──┤ ╰─╮│ ██ │ │ │ │ │ ╰──╯ ╶──╯ ──╯ ╵ │ │ │ │ ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │ │ │ │ 52% • running │ │ q quit p pause + add 5 min │ │ │ ╰──────────────────────────────────────────────────────────────╯
focus sessions with tags
tag each session (uni, code, reading). pause, resume, or add 5 minutes mid-session without losing progress.
github-style heatmap
90 days at a glance. every day you showed up is a green square. miss a day, streak ends. works on the same part of your brain as the github contribution graph, which, fine.
macOS menu bar companion
pip install "tempo[menubar]" then tempo-bar. a 🍅 lives in your menu bar with a live countdown. click to start, pause, or peek at today's stats.
streaks
current and longest streak shown on every tempo stats. today counts if you ran at least one session. miss yesterday, it resets. anyway.
your data, plain jsonl
sessions live at ~/.tempo/sessions.jsonl. portable, diff-friendly, queryable with jq. no cloud, no account, nothing to cancel.
and the dashboard is in your terminal.
$ tempo stats --window week ╭──────────────────────────── last 7d ─────────────────────────────╮ │ │ │ 11h 40min 18 5 days 7 days │ │ FOCUS SESSIONS STREAK BEST │ │ │ ╰──────────────────────────────────────────────────────────────────╯ ╭───────────────────────────── by tag ─────────────────────────────╮ │ uni 5h 10min ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ │ │ code 4h 25min ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ │ │ reading 2h 05min ▇▇▇▇▇▇▇▇▇▇ │ ╰──────────────────────────────────────────────────────────────────╯ ╭────────────────────────── last 90 days ──────────────────────────╮ │ mon ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ wed ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ fri ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ sun ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ │ │ │ │ less ▇▇ ▇▇ ▇▇ ▇▇ ▇▇ more │ ╰──────────────────────────────────────────────────────────────────╯
install
the one command
pip install git+https://github.com/f4rkh4d/tempo
python 3.9+, macos and linux. pypi upload is on the list, not done yet.
menu bar extra (mac)
pip install "tempo[menubar] @ \
git+https://github.com/f4rkh4d/tempo"
tempo-bar
gives you the tempo-bar command with the little tomato.